【问题标题】:How to remove objects from object array based on another Int array? [duplicate]如何根据另一个 Int 数组从对象数组中删除对象? [复制]
【发布时间】:2019-04-30 14:07:54
【问题描述】:

我正在尝试使用 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数组中删除id不在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】:

    您可以使用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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-24
      • 2017-01-28
      • 2020-08-15
      • 2019-11-23
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多