Hello y’all! I am working on Intermediate Algorithm Scripting: Drop it. My code passes all the tests except one. Here is my code:
function dropElements(arr, func) {
var newArr = arr;
//while the function is false for array item n, remove item n and start again.
while(!func(n)){
newArr.shift();
var n = newArr[0];
console.log(newArr);
}
//if the function returns true, stop the loop and return the rest of the array.
return newArr;
}
dropElements([1, 2, 3], function(n) {return n > 0;});
My code works great until the above arguments are put in. Why? It should see that the first array item, 1, is greater than 0. Then it should skip the while statement and just return the array. Am I misunderstanding how while loops work?
Thank you in advance for your help!
(FYI I’m using Chrome currently.)
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
.
Challenge: Drop it
Link to the challenge: