【发布时间】:2019-05-30 16:18:56
【问题描述】:
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 is not defined'
我不明白为什么它不起作用。它为每次迭代返回未定义的 indexOf。请看一下cmets。 如果您不介意,请分享您对我的代码的看法。
【问题讨论】:
-
indexOf是一个数组方法。您需要在数组上调用它。请参阅示例:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 但是您已经在索引中拥有i和j所以不清楚您要做什么。 -
indexOf 签名是。
array.indexOf()see the documentation
标签: javascript arrays push splice