如何根据另一个Int数组从对象数组中删除对象? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我试图使用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'}];
javascript jquery arrays object
1个回答
6
投票

你可以使用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)
© www.soinside.com 2019 - 2024. All rights reserved.