Iterate Through All an Array Items Using For Loops flyin

Iterate Through All an Array Items Using For Loops flyin
0

#1

Tell us what’s happening:
I think I might be over complicating this using the nested loops. I’m only passing the last two checks.

Your code so far


function filteredArray(arr, elem) {
  let newArr = [];
  // change code below this line
  for (let i = 0; i < arr.length; i++) {
    let tempArr = arr[i];
    let chk = false;
    for (let j = 0; j < tempArr.length; j++) {
      if (tempArr[j] = elem) {
        chk = true;
      }
    }
    if (!chk) {
      newArr.push(arr[i])
    }
  }
  // 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 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0.

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


#2

You’re not over complicating it, but you’ve made a subtle error which is a pretty nasty one to happen to a beginner

You’ve done if(tempArr[j] = Elem)

You meant probably to do == or ===

A single = returns a value too, which is the value of the right hand side, which gets tested for truthiness so can be used in an if statement. It’s pretty much never what you want though


#3

Ouch. Yes, that is not a good mistake to make. That did solve it for me though.

Thank you!!