我正在尝试使用Java脚本从基于另一个int数组的对象数组中删除对象。
Int数组包含对象数组中的ID。我想从整数数组中删除没有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数组中删除ID在y数组中不存在的对象;
结果应为:
x =[{name : 'hen' , Id : '15' , color:'blue'},
{name : 'mick' , Id : '15' , color:'red'},
{name : 'nick' , Id : '40' , color:'black'}];
答案 0 :(得分:6)
您可以使用filter()
并使用includes()
检查Id
是否在y
数组中
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)