Что не так с этим логом c?
1-Вам необходимо объявить пустые подмассивы перед доступом к ним.
newArr[i] = [];
2- Вы хотите pu sh полный массив (я предполагаю, чтобы сэкономить время), если elem НЕ найден, исправьте условие или введите else.
newArr.push(arr[i]); but you should use this
newArr[i] = arr[i]; because i created new empty sub arrays.
3-Вам действительно нужно использовать j для go подмассив.
newArr[i].push(arr[i][j]);
4-На него уже был дан ответ, но вам нужно убедиться, что вы не выходите за пределы массива.
i
5-Вам не хватает крайних случаев.
console.log (filterArray ([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 5, 9], [3, 3, 3]], 3));
function filteredArray(arr, elem) {
const newArr = [];
let skip = 0;
for (var i = 0; i < arr.length; i++) {
newArr[i] = [];
skip = arr[i].indexOf(elem);
for (var j = 0; j < arr[i].length; j++) {
if (skip !== -1) {
if (arr[i][j] !== elem) {
newArr[i].push(arr[i][j]);
}
} else {
newArr[i] = arr[i];
break;
}
}
}
return newArr;
}
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 5, 9], [3, 3, 3]], 3));