Tell us what’s happening:
My code so far works for most cases, but it doesn’t work when “elem” exists in every nested array and should result in an empty array. Can someone help me understand why? Thanks!
Your code so far
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
newArr = [...arr];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++){
if (arr[i][j]==elem){
newArr.splice(i,1);
break;
}
}
}
// change code above this line
return newArr;
}
// change code here to test different cases:
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3));
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
.
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops