Is that a bad solution?

**Your code so far**

function filteredArray(arr, elem) {
let newArr = [];
// Only change code below this line
newArr=[...arr]
let count=0
for (let i=0; i <arr.length; i++){

for(let j=0; j<arr[i].length; j++){  

  if(elem === arr[i][j]){
    
  newArr.splice(i-count++,1);  //removing the element if match succeeds, counter helps to select the right element since array size changes after splice
  
  break
     }
}
}

// Only change code above this line
return newArr;
}

console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3));

My solution takes the opposite approach of the freecodecamp’s solution. Is it less effective or less preferable for any reason?

  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0

Challenge: Iterate Through All an Array’s Items Using For Loops

Link to the challenge:

changing an array you are iterating over is bad practice

2 Likes