function filteredArray(arr, elem) { let newArr = [];
遍历嵌套数组的每个元素。
for (let i=0;i<arr.length;i++){
for (let j=0;j<arr[i].length;j++){
如果迭代中的值等于传递的参数,则应该在正在进行的迭代中将变量x设置为等于嵌套数组的值
if (arr[i][j]==elem){
let x = indexOf(arr[i][j]);
应该删除索引等于变量x的元素。
arr[i][j].splice(x,1);
然后应该将嵌套数组的剩余部分推到新数组,然后返回新数组。
newArr[i].push(...arr[i][j]);
}
}
}
console.log(newArr);
return newArr;
}
但是有一个错误,说“未定义indexOf”
我不明白为什么它不起作用。对于每次迭代,它都将indexOf返回为undefined。请看一下评论。 如果您不介意,请分享您对我的代码的看法。
答案 0 :(得分:1)
indexOf
是一种array/string
方法,可以在array.indexOf(element)
之类的数组上调用。在您的情况下,您需要通过array
。
您还可以跳过indexOf
,因为此处的变量i
和j
将给出父级数组和嵌套数组的相关索引