请检查此代码
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.something数组中使用多个vales,如
var searchStr = ['Toyota','big'];
答案 0 :(得分:0)
您只希望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;
})
});
});