鍍金池/ 問答/HTML5  HTML/ 兩數(shù)組通過id關(guān)聯(lián),怎樣通過js把他們合并成一個(gè)數(shù)組?

兩數(shù)組通過id關(guān)聯(lián),怎樣通過js把他們合并成一個(gè)數(shù)組?

例如

 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:'男'}]
回答
編輯回答
夏木
<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>
2018年5月17日 01:23
編輯回答
厭惡我
 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);
2018年2月20日 16:54