猿问

从数组列表中删除基于两个参数的对象

我想删除这个对象


    {

        "taskNo": 1,

        "milestoneNo" : 1,

    }

从这整个阵列中,


  "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,

    }

    ]

}

]

我试过这样做,但没有用。我已经应用了两个条件作为回报,但它不返回实际输出。这里id是1,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;

          });

         }

       })


白衣非少年
浏览 158回答 2
2回答

富国沪深

我想这就是你想要的比较语句!(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)

凤凰求蛊

您希望其中一个属性不同,而不是两者都不同。因此,应改用逻辑或运算符。return val["taskNo"] !== id || val["milestoneNo"] !== mileNo;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答