Basic Data Structures - Iterate Through All an Array's Items Using For Loops

Tell us what’s happening:
Describe your issue in detail here.
I do not understand how the argument and parameters of this function works .
I don’t understand the request of the (elem) and understanding the result of my console log

Your code so far

function filteredArray(arr, elem) {
  let newArr = [];
  // Only change code below this line
 for (let i = 0; i < arr.length; i++) {
    if (arr[i].indexOf(elem) == 2) {
     
      newArr.push(arr[i]); 
    }
  }
  // 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/115.0.0.0 Safari/537.36 Edg/115.0.1901.200

Challenge: Basic Data Structures - Iterate Through All an Array’s Items Using For Loops

Link to the challenge:

Does this solution work?

Aside, filteredArray function of this task, takes 2 arguments.

  • First argument is an array of array.
  • Second argument is a number, as a red flag not to include in your array.

Example, filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3) should return []

It means you have you are given array of such:

[3,2,3]
[1,6,3]
[3,13,26]
[19,3,9]

then, looking at your 2nd argument, i.e. 3.
So, all these array unfortunately has number 3. None of this pass, then you return an empty array.

1 Like

thanks so much WongYC-66 I get your explanation as 3 as the arguments against the arrays, but sincerely i dont understand how it works. i would appreciate further explanation, thanks

If the value of the ‘elem’ argument is not found in a sub-array, the indexOf(elem) method returns -1. In that case, the push method in the code adds that sub-array (found on the current index in the iteration process) in newArr.

If you try out the following statement:

console.log(filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18));

you should get printed two sub-arrays:

[[10, 8, 3], [14, 6, 23]

The sub-array that contains the ‘elem’ “18” is not printed.

JavaScript String indexOf() Method.

Try start with pseudo like this :grin:

  1. iterate thru those arrays of number.
  2. if the array does not includes the “elem”, add to newArr.
  3. return newArr.

Tools i would used:

Array.forEach()
Array.includes()
Array.push()
1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.