素材牛VIP会员
两数组通过id关联,怎样通过js把他们合并成一个数组?
 伴***4  分类:Html5  人气:1247  回帖:2  发布于6年前 收藏

例如

 a = [{id:1,age:10},{id:2,age:20},{id:3,age:30}] 
 b = [{id:3,sex:'男'},{id:1,sex:'男'},{id:2,sex:'女'}]

合并后

c = [{id:1,age:10,sex:'男'},{id:2,age:20,sex:'女'},{id:3,age:30,sex:'男'}]
 标签:html5javascript

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv1 新人
真***溜 职业无 6年前#1
 var c = [];
            a.forEach(function(val) {
                b.forEach(function(val2){
                    if(val.id===val2.id){
                        c.push({
                            id:val.id,
                            age:val.age,
                            sex:val2.sex
                        })
                    }
                })
            });
            console.log(c);

或者

                a.map(function(val) {
                b.map(function(val2){
                    if(val.id===val2.id){
                        return Object.assign(val,val2);
                    }
                })
            });
            console.log(a);
Lv5 码农
qt***ah 页面重构设计 6年前#2
<script>
  const a = [{id:1,age:10},{id:2,age:20},{id:3,age:30}];
  const b = [{id:3,sex:'男'},{id:1,sex:'男'},{id:2,sex:'女'}];
  let c = [];
  for(let u of a) {
    const temp = b.filter(i => i.id === u.id)[0];
    c.push({...u, ...temp});
  }
  console.log(c);
</script>
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取