Tell us what’s happening:
Hi, I don’t understand the following line of code from this solution:
return {};
The W3School’s website gives the following definition of a return: The return statement stops the execution of a function & returns a value.
In this code, return seems to move map() to the next element? Rather than stopping the execution of the map() function?
**Your code so far**
function steamrollArray(arr) {
return arr
.toString()
.replace(",,", ",") // "1,2,,3" => "1,2,3"
.split(",") // ['1','2','3']
.map(function(v) {
if (v == "[object Object]") {
// bring back empty objects
return {};
} else if (isNaN(v)) {
// if not a number (string)
return v;
} else {
return parseInt(v); // if a number in a string, convert it
}
});
}
steamrollArray([1, [2], [3, [[4]]]]);
**Your browser information:**
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36
Challenge: Steamroller
Link to the challenge: