我有一个像这样的多维数组:
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/