使用过滤器和下划线过滤对象数组
Filtering array of objects with filter and underscore
请检查此代码
var arr = [{ name:"Toyota, minivan", id:"506", size: "large" }, { name:"Honda Moose", id:"619", size: "big" }, { name:"Honda Civic", id:"619", size: "mini" },{ name:"Honda Tree", id:"mini", size: "big" }];
var searchStr=['Toyota'];
var mini = _.filter(arr, function (obj) {
return _.values(obj).some(function (el) {
return el.indexOf(searchStr) > -1;
});
});
console.log(mini);
数据过滤正常,但我想要的是,如果 searchStr 数组有多个值,它不起作用,所以如何在 searchStr 数组中使用多个值来做到这一点。
var searchStr = ['Toyota','big'];
您只希望some
搜索字符串成为some
属性的一部分。或者,如果要进行独占搜索,可以使用 _.every
,以便每个搜索文本都显示在某个属性中。
var cars = [...]
var searchInputs = ['Toyota','big'];
var mini = _.filter(arr, function (cars) {
return _.values(obj).some(function (carAttribute) {
return _.some(searchInputs, function(searchText){
return carAttribute.indexOf(searchText) > -1;
})
});
});
相关文章:
- 执行过滤对象数组的方法
- 如何按数组/对象值的倍数过滤对象数组
- 访问KendoUI中Datasource过滤对象的字段
- 通过 nodejs 过滤对象数组
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- 如何使用filter函数在javascript中过滤对象
- Javascript:按字符串数组过滤对象数组
- 按对象属性过滤对象的角度
- RXJS5 - 按每个对象包含的可观察性过滤对象数组
- 通过使用 AngularJS 遵循 OR 运算符仅过滤对象中的特定字段
- 在 lodash 中按键过滤对象
- Javascript 过滤对象
- Javascript - 如何按参数过滤对象数组
- 使用过滤器和下划线过滤对象数组
- 过滤对象数组时的无限$digest循环
- 使用Moment.js按“上个月”和“上周”单击时过滤对象数组
- 如何在 javascript 中过滤对象中具有特定后缀的键/值
- 按对象的属性过滤对象的 JavaScript 数组并删除重复项
- 对于循环中仅过滤对象
- 通过ng repeat内的关键帧过滤对象