这个问题在这里已有答案:
我试图使用java脚本基于另一个int数组从对象数组中删除对象。
Int数组包含来自对象数组的ID。我想从没有来自Integer数组的id的对象数组中删除对象。
例:
var x =[{name : 'mark' , Id : '10' , color:'green'},
{name : 'hen' , Id : '15' , color:'blue'} ,
{name : 'joy' , Id : '30' , color:'yellow'},
{name : 'mick' , Id : '15' , color:'red'},
{name : 'nick' , Id : '40' , color:'black'}] ;
var y =['40','15'];
从上面的2个数组中,我想从x数组中删除其数据不存在于y数组中的对象;
结果应该是:
x =[{name : 'hen' , Id : '15' , color:'blue'},
{name : 'mick' , Id : '15' , color:'red'},
{name : 'nick' , Id : '40' , color:'black'}];
你可以使用filter()
并使用Id
检查y
是否在includes()
数组中
var x = [{name : 'mark' , Id : '10' , color:'green'}, {name : 'hen' , Id : '15' , color:'blue'} , {name : 'joy' , Id : '30' , color:'yellow'}, {name : 'mick' , Id : '15' , color:'red'}, {name : 'nick' , Id : '40' , color:'black'}] ;
var y = ['40','15'];
const res = x.filter(a => y.includes(a.Id));
console.log(res)