首页 新闻 会员 周边

想把一个数组 遍历成第二种 如何做呢,根据id,

0
悬赏园豆:20 [已解决问题] 解决于 2020-07-27 12:21

var arr1 = [{sid:3,val:6}, {sid:3,val:5}, {sid:3,val:2}, {sid:2,val:5}, {sid:2,val:5}, {sid:1,val:5}];
var arr 2= {
3:[{sid:3,val:6}, {sid:3,val:5}, {sid:3,val:2}],
2:[{sid:3,val:6}, {sid:3,val:5}, {sid:3,val:2}],
1:[{sid:1,val:5}]
}

小阿飞小蝴蝶的主页 小阿飞小蝴蝶 | 初学一级 | 园豆:72
提问于:2020-07-27 10:44
< >
分享
最佳答案
0

根據SID分類嗎?
你的結果看起來又不像

收获园豆:20
RosonJ | 老鸟四级 |园豆:4910 | 2020-07-27 11:05

另外,你要的結果是物件?還是數組

RosonJ | 园豆:4910 (老鸟四级) | 2020-07-27 11:07

哈哈,她的结果看起来像是写错了,她想要的应该如题所写根据sid分组。

顾星河 | 园豆:7173 (大侠五级) | 2020-07-27 11:08

@RosonJ: 想根据第一个数组的sid 动态生成一个对象 对象的属性是第一个数组的sid,,内容是,第一个数组对应的sid那一项

小阿飞小蝴蝶 | 园豆:72 (初学一级) | 2020-07-27 11:25

@小阿飞小蝴蝶:
用啥語言呢

RosonJ | 园豆:4910 (老鸟四级) | 2020-07-27 11:29

@RosonJ: js

小阿飞小蝴蝶 | 园豆:72 (初学一级) | 2020-07-27 11:30

@小阿飞小蝴蝶:

var result = {};
var arr1 = [{sid:3,val:6}, {sid:3,val:5}, {sid:3,val:2}, {sid:2,val:5}, {sid:2,val:5}, {sid:1,val:5}];

arr1.forEach(function(el) {
    if (!result[el.sid]) {
        result[el.sid] = [];
    }
    result[el.sid].push(el);
});

細節自行調整吧

RosonJ | 园豆:4910 (老鸟四级) | 2020-07-27 11:36

@RosonJ: 谢谢

小阿飞小蝴蝶 | 园豆:72 (初学一级) | 2020-07-27 12:21

@默卿: 谢谢

小阿飞小蝴蝶 | 园豆:72 (初学一级) | 2020-07-27 12:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册