我想使用另一个 JS 数组替换 JS 数组属性值。我已经解释如下。
const arr1 = [
{
code: "XXY",
dis: "cont1",
note: "Note for cont1"
},
{
code: "AAW",
dis: "cont2",
note: "Note for cont2"
},
{
code: "TTR",
dis: "cont5",
note: "Note for cont5"
},
{
code: "MMN",
dis: "cont10",
note: "Note for cont10"
}]
const new_array = [
{
"code": "AAW",
"dis": "cont2 new",
"note": "Note for cont2"
},
{
"code": "TTR",
"dis": "cont5",
"note": "New Note for cont5"
}]
预期输出:
[
{
code: "XXY",
dis: "cont1",
note: "Note for cont1"
},
{
code: "AAW",
dis: "cont2 new",
note: "Note for cont2"
},
{
code: "TTR",
dis: "cont5",
note: "New Note for cont5"
},
{
code: "MMN",
dis: "cont10",
note: "Note for cont10"
}
]
我们需要检查所有arr1等于和比较属性new_arr.code的元素。如果不等于,则value 应替换为。这对财产也是一样的。arr1.codedisnotearr1.disnew_arr.disarr1.disnew_arr.disnote
试过的代码:
arr1.forEach(function(item1) {
var item2 = arr1.find(function (item2) {
return arr1.code === new_array.code;
});
})
console.log(arr1);
电流输出:
[
{
"code": "XXY",
"dis": "cont1",
"note": "Note for cont1"
},
{
"code": "AAW",
"dis": "cont2",
"note": "Note for cont2"
},
{
"code": "TTR",
"dis": "cont5",
"note": "Note for cont5"
},
{
"code": "MMN",
"dis": "cont10",
"note": "Note for cont10"
}
]
我该如何解决这个问题?