Sorted Union - almost solved

I feel like I’ve almost solved the challenge, but I don’t understand why row *** won’t accept inputs[j].length

Also is there other (easier) ways to iterate over arrays inside arrays?

function uniteUnique(arr) {
  var inputs = [];  
  var finalArray = [...arr];
  for (var i = 1; i < arguments.length; i++) {
    inputs.push(arguments[i]); //have function arguments in array except first one
  }
  for (var i = 0; i < inputs.length; i++) {  
    for (var j = 0; j < inputs[j].length; j++) { //***
      if (arguments[0].includes(inputs[i][j]) === false) {
        finalArray.push(inputs[i][j]);
      }
    }
  }
  console.log(finalArray);
  //return finalArray;
}
uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]);

Link to the challenge:
learn . freecodecamp . org /javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union

Wouldn’t that mean it would loop 4 times (inputs[0].length) for [5, 2, 1, 4] and twice (inputs[1].length) for [2, 1]?

i instead of j!

thanks!

1 Like