Javascript过滤器 - 由id返回

时间:2017-02-10 16:30:29

标签: javascript arrays select filter

我有一个js对象,该数组有25个条目。

 {             
   id:1,
   title: 'item1'
},
{             
   id:2,
   title: 'item2'
},
{             
   id:3,
   title: 'item3'
},

{             
   id:4,
   title: 'item4'
},

{             
   id:5,
   title: 'item5'
},

我试图从25个中返回3个项目但是随机。

我过滤我的对象并按id过滤它们。

  return this.talents.filter(
          function (talent) {  
            return talent.id === 3
          });

我真正想做的是从数组中返回3。所以我试了一下没有运气

$.each([ 1, 2 ], function( index, value ) {     
    return this.talents.filter(
      function (talent) {  
        return talent.id === value
      });
});

如何通过类似

的值过滤/选择JS对象

1 个答案:

答案 0 :(得分:0)

Array.prototype.filterArray.prototype.some

结合使用
var values = [1, 2];

return this.talents.filter(function(talent) {
    return values.some(function(val) { return talent.id === val });
})

示例:

var values = [1, 2];
var talents = [
  { id: 1 },
  { id: 2 },
  { id: 3 }
];

var filteredTalents = talents.filter(function(talent) {
  return values.some(function(val) {
    return talent.id === val
  });
});

console.log(filteredTalents);