Tell us what’s happening:
Describe your issue in detail here.
Hi, so I am trying to use the for loops to search for ‘elem’ in each of the arrays. Using the if statement I want to then use the splice method to remove the ‘elem’ if it exists then add the ‘arr’ to the ‘newArray’ variable using the spread operator.
I keep getting the error message: “Cannot read property ‘length’ of undefined”.
What am I doing wrong?
**Your code so far**
function filteredArray(arr, elem)
{
let newArr = [];
// Only change code below this line
for(let i = 0;i < arr.length; i++)
{
for(let k = 0;k < arr[i].length; k++)
{
if(arr[i][k] === elem)
{
arr.splice(arr[i],1)
newArr = [...arr];
}
}
}
// Only change code above this line
return newArr;
}
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/104.0.0.0 Safari/537.36
Challenge: Basic Data Structures - Iterate Through All an Array’s Items Using For Loops
Link to the challenge: