需求背景:有两个对象数组A和B,当B数组中某个对象的属性值和A数组中对象属性值相同时,需要将A数组的当前对象添加一个新属性。
let A = [{projectId:"1",projectName:"项目一",status:"0"},{projectId:"2",projectName:"项目二",status:"0"},{projectId:"3",projectName:"项目三",status:"1"}];
let B = [{projectId:"1",projectName:"项目一"}]
let filterArr = A.filter(item => Object.is(item.status, "0"))
.map(sourceItem => {
sourceItem['disabled'] = B.some(targetItem => Object.is(targetItem.projectId, sourceItem.projectId))
return sourceItem
})
console.log('filterArr', filterArr)