Tell us what’s happening:
This is one of three questions I’m having trouble with. Basically, I think my solution works. I looked at the provided solution, Which works basically the same way, although uses push instead of concat as it’s array builder, but mine isn’t working.
I wouldnt post, but on an earlier challenge, where I was supposed to return undefined, I wasn’t able to do so by allowing the function to finish with no return, OR by returning the word “undefined” or undefined. and for that challenge I was 100% confident that my solution did meet requirements, if in other testing engines.
basically I don’t want to walk away thinking my solution has a problem if it actually works. I want to be confident that although there are other answers, mine DID function appropriately.
Your code so far
function steamrollArray(arr) {
let result = [];
let roll = function (item) {
let rolled = [];
if (Array.isArray(item)) {
for (let i = 0; i < item.length; i++) {
rolled.concat(roll(item[i]));
}
return rolled;
} else {
return item;
}
}
for (let i = 0; i < arr.length; i++) {
result.concat(roll(arr[i]));
}
// I'm a steamroller, baby
return result;
}
console.log(steamrollArray([1, [2], [3, [[4]]]]));
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
.
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller