I want to update the first array's value on the basis of the second array.
For Example. This is my first Array
let a = [{id:"1",name:"none"},{id:"2",name:"two"}]
This is my second Array
let b = [{id:"1",name:"one"}]
This is what I want as an output.
console.log(a) //[{id:"1",name:"one"},{id:"2",name:"two"}]
Currently, I'm trying to achieve this by using array.filters and array.foreach but I'm getting an empty array.
a = a.filter((item) => {
b.forEach(i => {
if(item.id == i.id){
return i
}else{
return item
}
})
})
Ps. I don't want to create a new Array, I just want to update a's value on the basis of b. Thanks!
This is Test Case 2.
Array 1
let x = [
{id:"1", status:"occupied"},
{id:"2", status:"occupied"},
{id:"3", status:"occupied"},
{id:"4", status:"occupied"},
{id:"5", status:"occupied"},
{id:"6", status:"occupied"},
{id:"7", status:"occupied"}
]
Array 2
let z = [
{id:"1",status:"cleaning"},
{id:"3",status:"cleaning"},
{id:"5",status:"cleaning"},
{id:"7",status:"cleaning"},
{id:"2",status:"cleaning"},
]
Object.assign
let y = Object.assign(x,z);
console.log(y);//
I'm getting this output which is messed up.
{id: "1", status: "cleaning"}
{id: "3", status: "cleaning"}
{id: "5", status: "cleaning"}
{id: "7", status: "cleaning"}
{id: "2", status: "cleaning"}
{id: "6", status: "occupied"}
{id: "7", status: "occupied"}