我想合并两个数组来创建一个新的数组,它基于键具有更新值,但无法实现。我正在寻找一个使用ES6/ES7方法的更简单的解决方案。
let selectedID = [
{
"id": 7,
"selected": true
},
{
"id": 1,
"selected": true
}
];
let baseID = [
{
"id": 7,
"selected": false
},
{
"id": 12,
"selected": false
},
{
"id": 13,
"selected": false
},
{
"id": 1,
"selected": false
},
{
"id": 9,
"selected": false
},
{
"id": 10,
"selected": false
}
];
const op = baseID.map( b => {
return selectedID.map( f => {
if(f.id === s.id) {
return f;
} else {
return b;
}
});
});
console.log(op);
但它返回一个项目数组,每个项目由2个对象组成。
[[
{id: 7, selected: true}
{id: 7, selected: false}
,[],...]
预期输出:
[{
"id": 7,
"selected": true
},
{
"id": 12,
"selected": false
},
{
"id": 13,
"selected": false
},
{
"id": 1,
"selected": true
},
{
"id": 9,
"selected": false
},
{
"id": 10,
"selected": false
}
]