【发布时间】:2018-09-29 06:28:59
【问题描述】:
如果子数组有特定元素,我需要删除它。
function filteredArray(arr, elem) {
let newArr = [];
for (let i = 0; i < arr.length; i++){
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j] === elem) {
arr.splice(i--, 1);
newArr = [...arr]
}
}
}
return newArr;
}
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 19));
如果元素只被找到一次(例如 19),上面的代码就可以正常工作。但如果我尝试 3 号,我会得到:Uncaught TypeError: Cannot read property 'length' of undefined。有人可以解释一下这里发生了什么吗?
【问题讨论】:
标签: javascript arrays multidimensional-array array-splice