2 回答

TA贡献1790条经验 获得超9个赞
我想这就是你想要的比较语句
!(val["taskNo"] === id && val["milestoneNo"] === mileNo)
仅当 id 和 mileNo 都匹配时才会返回 false。如果 id或mileNo 匹配,则返回 false 的语句。
const milestoneList = [{
"milestoneTaskName": {
"milestoneNo": 1,
"taskName": "test",
},
"milestoneTask": [{
"taskNo": 1,
"milestoneNo": 1,
}, {
"taskNo": 2,
"milestoneNo": 1,
}]
},
{
"milestoneTaskName": {
"milestoneNo": 2,
"taskName": "test",
},
"milestoneTask": [{
"taskNo": 1,
"milestoneNo": 2,
}, {
"taskNo": 2,
"milestoneNo": 2,
}]
}
]
const id = 1;
const mileNo = 1;
milestoneList.map((obj) => {
if (typeof obj.milestoneTask !== 'undefined' && obj.milestoneTask.length > 0) {
obj.milestoneTask = obj.milestoneTask.filter(function(val) {
return !(val["taskNo"] === id && val["milestoneNo"] === mileNo);
});
}
})
console.log(milestoneList)

TA贡献1825条经验 获得超4个赞
您希望其中一个属性不同,而不是两者都不同。因此,应改用逻辑或运算符。
return val["taskNo"] !== id || val["milestoneNo"] !== mileNo;
添加回答
举报