繁体   English   中英

如何过滤只有数字的简单多维数组

[英]How filter simple multidimensional array with only numbers

我有一个这样的多维数组: let arr = [ [1,2,3], [3,4,6], [4,5,7], [8,9,3]];

我只需要使用一个过滤器 function 来过滤这个数组。 我必须过滤数组并从当前包含数字 3 的内部 arrays 创建一个新数组:

let myArr = [ [1,2,3], [3,4,6], [4,5,7], [8,9,3]];
function getVal(value, arr){    
    for(let i in arr){
        for(let j in arr[i]){
            if(arr[i][j] == value){
                return true;
            }
        }
    }

}

let newArr = myArr.filter(getVal(3, myArr));

我的代码不起作用。 实际上,它正在工作,但我没有看到任何结果。

预期的结果是这样的:

newArr = [[1,2,3], [3,4,6], [8,9,3]];

我发现的只是带有对象的过滤方法。

您需要不同风格的回调。

 const contains = v => a => a.includes(v); var array = [[1, 2, 3], [3, 4, 6], [4, 5, 7], [8, 9, 3]], result = array.filter(contains(3)); console.log(result);

假设它是二维数组。 使用 indexOf 检查 arrays 内部:

myArr.filter((a)=> { return a.indexOf(3)>=0})
cont result = arr.filter(a => a.includes(3));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM