尝试在javascript中过滤嵌套数组时收到错误消息。任务是构建一个函数,以过滤出输入数组中包含特定元素的所有子数组。
我当前的代码是:
function filteredArray(arr, elem) {
let newArr = [];
newArr = [...arr];
console.log(newArr);
for (var i=0; i < newArr.length; i++) {
newArr.filter(newArr[i] => newArr[i].indexOf(elem) >= 0);
}
return newArr;}
javascript显然不喜欢我尝试基于子数组newArr [i]过滤newArr,因为它指出[]是意外标记。这是怎么回事?
答案 0 :(得分:0)
使用Array#filter
和Array#includes
,您可以非常容易地过滤出包含特定元素的数组:
const filteredArray = (array, elem) => array.filter(subArray => !subArray.includes(elem));
let testArr = [[1,2,3,4, "a"],[1,2,3,4,8],[1,2,3,4, "a"],[1,2,3,4,5]];
console.log(filteredArray(testArr, "a"));