Javascript 如何根据某些条件从对象数组中删除元素

Javascript 如何根据某些条件从对象数组中删除元素,javascript,angular,typescript,Javascript,Angular,Typescript,我面临着一个关键的问题 我有以下数组 dataArray (3) [21, 21, 23] 下面是API的实际数据 ViewData = [ { "id":5, "name":"Private", "description":"", }, { "id":7, "name":"Semi Private", "description":"",

我面临着一个关键的问题

我有以下数组

dataArray (3) [21, 21, 23]
下面是API的实际数据

ViewData = [  
      {  
         "id":5,
         "name":"Private",
         "description":"",

      },
      {  
         "id":7,
         "name":"Semi Private",
         "description":"",

      },
      {  
         "id":8,
         "name":"laboratory",
         "description":"",

      },
      {  
         "id":15,
         "name":"Test",

      },
      {  
         "id":16,
         "name":"Testss",
         "description":null,

      },
      {  
         "id":18,
         "name":"TestSan",
         "description":null,

      },
      {  
         "id":21,
         "name":"TestBBB",
         "description":"test",

      },
      {  
         "id":23,
         "name":"TestOne",
         "description":null,

      },
      {  
         "id":2,
         "name":"Standard ward",
         "description":"",
         "sharing":4,
         "set_value":2
      }
   ]
在处理ViewData后,我必须处理ViewData(第二个数组),ViewData不应包含dataArray中存在id的JSON对象(我的意思是,如果ViewData的任何id等于dataArray中的id,我希望从视图数据中删除该JSON对象) (输出应如下所示)


使用
过滤器

ViewData = ViewData.filter( s => !dataArray.includes( s.id ) ) 

使用
过滤器

ViewData = ViewData.filter( s => !dataArray.includes( s.id ) ) 

过滤器
与组合
包括一起使用
<代码>过滤器将根据条件返回一个新数组。条件返回true的那些项将添加到输出数组中

constids=[21,23];
常量viewData=[
{  
“id”:5,
“姓名”:“私人”,
“说明”:“,
},
{  
“id”:7,
“名称”:“半私有”,
“说明”:“,
},
{  
“id”:8,
“名称”:“实验室”,
“说明”:“,
},
{  
“id”:15,
“名称”:“测试”,
},
{  
“id”:16,
“名称”:“Testss”,
“描述”:空,
},
{  
“id”:18,
“名称”:“TestSan”,
“描述”:空,
},
{  
“id”:21,
“名称”:“TestBBB”,
“description”:“测试”,
},
{  
“id”:23,
“名称”:“TestOne”,
“描述”:空,
},
{  
“id”:2,
“姓名”:“标准病房”,
“说明”:“,
"分享":四,,
“设定值”:2
}
];
const filteredData=viewData.filter(item=>!ids.includes(item.id));

console.log(filteredData)使用组合
包括的
过滤器
<代码>过滤器
将根据条件返回一个新数组。条件返回true的那些项将添加到输出数组中

constids=[21,23];
常量viewData=[
{  
“id”:5,
“姓名”:“私人”,
“说明”:“,
},
{  
“id”:7,
“名称”:“半私有”,
“说明”:“,
},
{  
“id”:8,
“名称”:“实验室”,
“说明”:“,
},
{  
“id”:15,
“名称”:“测试”,
},
{  
“id”:16,
“名称”:“Testss”,
“描述”:空,
},
{  
“id”:18,
“名称”:“TestSan”,
“描述”:空,
},
{  
“id”:21,
“名称”:“TestBBB”,
“说明”:“测试”,
},
{  
“id”:23,
“名称”:“TestOne”,
“描述”:空,
},
{  
“id”:2,
“姓名”:“标准病房”,
“说明”:“,
"分享":四,,
“设定值”:2
}
];
const filteredData=viewData.filter(item=>!ids.includes(item.id));
console.log(filteredData)您可以为此使用和方法

const arryids = {1,3,9};//remove id array 
const filteredarray = this.ViewData.filter(d=> !array.includes(d.id));
this.ViewData= filteredarray;
您可以为此使用和方法

const arryids = {1,3,9};//remove id array 
const filteredarray = this.ViewData.filter(d=> !array.includes(d.id));
this.ViewData= filteredarray;

非常感谢大家的支持,它工作得很好,感觉很高兴我是JavaScript的新手非常感谢大家的支持,这对我的场景很有帮助,根据其他条目的条件从数组中删除对象。这对我的场景很有帮助,根据其他条目的条件从数组中删除对象。