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的新手非常感谢大家的支持,这对我的场景很有帮助,根据其他条目的条件从数组中删除对象。这对我的场景很有帮助,根据其他条目的条件从数组中删除对象。