Iterate Through All an Array Items Using For Loops

Tell us what’s happening:

I don’t know what’s wrong but it ain’t satisfying one test condition only

Your code so far


function filteredArray(arr, elem) {
  let newArr = [...arr];
  // change code below this line
  var arr1=[]
  for(var i=0 ; i < arr.length ; i++)
  { 
    arr1 = arr[i];
    for(var j=0 ; j < arr1.length ; j++)
    {
    if(arr1[j]===elem)
    {
      newArr.pop(arr1);
      break;
    }
    else
    {
      continue;
    }
  }
  }
  // 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/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

You have misunderstanding in what pop() does.
pop() takes no argument; it always removes the last element of an array and returns that element.

I think my first concern is why are you using pop. As far as i know, pop does not take any parameters and simply pops the last item in the array out.
Here is the reference i am using https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop

Perhaps use the delete function call instead.

oh my bad what about now

function filteredArray(arr, elem) {
  let newArr = [...arr];
  // change code below this line
  var arr1=[]
  for(var i=0 ; i < arr.length ; i++)
  { 
    arr1 = arr[i];
    for(var j=0 ; j < arr1.length ; j++)
    {
    if(arr1[j]===elem)
    {
      newArr.splice(i,1);  
    }
    else
    {
      continue;
    }
    
  }
  }
  // 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));