如何使用下划线javascript过滤数组数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用下划线javascript过滤数组数组相关的知识,希望对你有一定的参考价值。

我有一个对象数组,如下所示:

[{name:'Initiative 1', actionList:[{name:'action 1', productionLine:'436767'}]}, {name:'Initiative 2', actionList:[{name:'action 2', productionLine:'892128'}]}]

而且我想根据基于productionLine值的ex的actionList元素的某些属性来过滤结果。

这是我的代码,无法正常工作,结果为空。

initiatives.forEach(function(initiative) {
     var newArr = _.filter(initiative.actionList, function({
         return o.productionLine == selectedProductionLine;
     });
     initiative.actionList = newArr;
});

预期:输入的输入:892128结果:

[{name:'Initiative 1', actionList:[]}, {name:'Initiative 2', actionList:[{name:'action 2', productionLine:'892128'}]}]
答案

语法在您的过滤器上看起来像:

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

签出Array.prototype.filter()

下面的代码片段应为您提供所需的内容。

let initiatives = [{
  name: 'Initiative 1',
  actionList: [{
    name: 'action 1',
    productionLine: '436767'
  }]
}, {
  name: 'Initiative 2',
  actionList: [{
    name: 'action 2',
    productionLine: '892128'
  }]
}]

let selectedProductionLine = '892128';

initiatives.forEach(function(initiative) {
  newArray = initiative.actionList.filter(function(actionList) {
    return actionList.productionLine == selectedProductionLine;
  });
  initiative.actionList = newArray
});

console.log(initiatives);

以上是关于如何使用下划线javascript过滤数组数组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 中的索引过滤数组数组? [复制]

如何在 HTML 中显示 JavaScript 数组

Javascript:如何组合和过滤数组

如何按键过滤数组并使用javascript将值推送到另一个数组

如何使用Javascript中的数组值过滤对象?

如何保持Javascript数组排序,而不对其进行排序