javascript - 如何过滤仅包含数字的简单多维数组

标签 javascript arrays multidimensional-array filter

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

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

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);

关于javascript - 如何过滤仅包含数字的简单多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58674593/

相关文章:

c++ - 如何增强 C++ 数组在大规模访问时的性能

javascript - 如何使用 angularjs 正确格式化表中的 JSON 数据?

java - Java中连续 'if'语句的简化

PHP - 如何访问深层数组的内容,动态构建它的路径

javascript - Node.js 最简单的代码不起作用

javascript - Chrome 扩展 - 单击实际页面中的元素

php - 如何遍历 JSON 数组并将数据放入变量中

arrays - 如何在 Julia 中索引圆形数组?

javascript - 无法让 .innerHTML 工作

javascript - react : How can I dynamically render images mapping through a list?