我正在尝试在多维数组中实现搜索。
这是我的数组
var data = [[1,“ TEST”,“ 0”,“ 110”],[“ 2”,“ row2”,“ 0”,“ 111”],[3,“ Test1”,“ 0” ,“ 113”]];
下面是代码:
var data= [ [1, "TEST", "0", "110"], ["2", "row2", "0", "111"],[3, "Test1", "0", "113"]];
arrayFilter(array, value) {
return array.filter(function (object) {
return Object.keys(object).some(function (key) {
return object[key.toLowerCase()]===(value.toLowerCase());
});
});
}
console.log(this.arrayFilter(data,test)
此函数返回[1,“ TEST”,“ 0”,“ 110”]
我也希望它返回部分匹配。即它应该返回[[1,“ TEST”,“ 0”,“ 110”],[3,“ Test1”,“ 0”,“ 113”]]
我该如何实现?
因为test1
不等于test
;
代替===
,您可以使用包含
let arrayFilterFn = (arrayToFilter, value) => {
return arrayToFilter.filter(subArray => {
return subArray.some(v => {
v = v+''; // convert number to string
return v.toLowerCase().includs(value.toLowerCase())
})
})
}