多维数组的实现搜索过滤器

问题描述 投票:0回答:1

我正在尝试在多维数组中实现搜索。

这是我的数组

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”]]

我该如何实现?

javascript java arrays angular multidimensional-array
1个回答
0
投票

因为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())
    })
})
}
© www.soinside.com 2019 - 2024. All rights reserved.