Я хочу объединить 2 массива, чтобы создать новый, который имеет значение обновления на основе ключа, но не может достичь.Я ищу более простое решение с подходом 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
}
]