Hello everyone I'm a newbie. And now I get stuck in this exercise
Here is my solution to it. I can get all correct answers to the parameters the system gives but the system judge me unable to pass the test.
var result = [];
function count(arr){
var len = arr.length;
for(var i=len-1; i>=0; i--){
if(Array.isArray(arr[i])){
count(arr[i]);
}else{
result.push(arr[i]);
}
}
return true;
}
function steamrollArray(arr) {
count(arr);
result.reverse();
return result;
}
I hope someone can see this and help me ><. Thanks!
Aah yes, as it happens, I had the EXACT same problem a few days ago. My solution was very similar to yours and also gave correct answers but could not pass the tests.
I suspect this might have something to do with the way global variables are handled in the test environment, but I really don’t know what could be causing it.
At any rate, all I can tell you is that I think your solution looks pretty decent. It answers the challenge. Unfortunately, I can’t help you with doing anything to actually make it pass the tests. Personally, I ended up re-doing all the code and finding another way to solve the challenge which subsequently passed the tests.
Thanks. I decide to receive your advice and find other way to pass the challenge.
You're right! The global variable goes something wrong. And I redefine it to be a local variable and it works. Thanks again!
Here is my code after fixed.
function count(arr, tem){
var len = arr.length;
for(var i=len-1; i>=0; i--){
if(Array.isArray(arr[i])){
count(arr[i], tem);
}else{
tem.push(arr[i]);
}
}
return true;
}
function steamrollArray(arr) {
var result = [];
count(arr, result);
result.reverse();
return result;
}
1 Like