两个数组合并

a:[
    {
        name: "a",
        value: 0
    },
    {
        name: "b",
        value: 1
    },
    {
        name: "c",
        value: 2
    }
]
b:[11,22,33]

想合并成

a:[
    {
        name: "a",
        value: 0,
        id :11,
    },
    {
        name: "b",
        value: 1,
        id :22,

    },
    {
        name: "c",
        value: 2,
        id :33

    }
]
阅读 2.5k
5 个回答

根据序列设置
image.png

var obj = {a:[
    {
        name: "a",
        value: 0
    },
    {
        name: "b",
        value: 1
    },
    {
        name: "c",
        value: 2
    }
],
b:[11,22,33]};

obj.b.map((id,idx)=>{
return {id,...obj.a[idx]};
})
function transform(obj) {
    var b = obj.b;
    delete obj.b;
    for (var i = 0; i < obj.a.length; ++i) obj.a[i].id = b[i];
    return obj;
}
var obj = {
    a: [{
        name: "a",
        value: 0
    },
    {
        name: "b",
        value: 1
    },
    {
        name: "c",
        value: 2
    }],
    b: [11, 22, 33]
};
console.log(transform(obj));
let obj={
    a:[{name: "a",value: 0},{name: "b",value: 1},{name: "c",value: 2}],
    b:[11,22,33]
}                
obj.a.forEach((item,index)=>{
    item.id=obj.b[index];
})
console.log(obj.a);
var a = [
    {
        name: "a",
        value: 0
    },
    {
        name: "b",
        value: 1
    },
    {
        name: "c",
        value: 2
    }
]
var b = [11,22,33]

var newArr = a.map((item,index) => item.id = b[item.value]);
console.log(newArr);
新手上路,请多包涵
let arr1 = [
{
  name: "a",
  value: 0
},
{
  name: "b",
  value: 1
},
{
  name: "c",
  value: 2
}
  ]
  let arr2 = [11,22,33]
  let newArr = arr1.map((item, index) => {
  item.id = arr2[index]
  return item
})
console.log(newArr)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题