i know this is the correct answer , i copied it from hints , but i did about 85% of it by myself , but what i cant understand are the last two lines of code in the if statment : i–; and break;
why decrement the i , and what happens if we don’t break.
Your code so far
function filteredArray(arr, elem) {
let newArr = [...arr];
// change code below this line
for(let i = 0 ; i<newArr.length ; i++){
for( let k = 0; k<newArr[i].length ; k++){
if(newArr[i][k] ==elem){
newArr.splice(i ,1);
i--;
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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 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