--description--
Given the array arr
, iterate through and remove each element starting from the first element (the 0 index) until the function func
returns true
when the iterated element is passed through it.
Then return the rest of the array once the condition is satisfied, otherwise, arr
should be returned as an empty array.
--hints--
dropElements([1, 2, 3, 4], function(n) {return n >= 3;})
should return [3, 4]
.
assert.deepEqual(
dropElements([1, 2, 3, 4], function (n) {
return n >= 3;
}),
[3, 4]
);
dropElements([0, 1, 0, 1], function(n) {return n === 1;})
should return [1, 0, 1]
.
assert.deepEqual(
dropElements([0, 1, 0, 1], function (n) {
return n === 1;
}),
[1, 0, 1]
);
dropElements([1, 2, 3], function(n) {return n > 0;})
should return [1, 2, 3]
.
assert.deepEqual(
dropElements([1, 2, 3], function (n) {
return n > 0;
}),
[1, 2, 3]
);
dropElements([1, 2, 3, 4], function(n) {return n > 5;})
should return []
.
assert.deepEqual(
dropElements([1, 2, 3, 4], function (n) {
return n > 5;
}),
[]
);
dropElements([1, 2, 3, 7, 4], function(n) {return n > 3;})
should return [7, 4]
.
assert.deepEqual(
dropElements([1, 2, 3, 7, 4], function (n) {
return n > 3;
}),
[7, 4]
);
dropElements([1, 2, 3, 9, 2], function(n) {return n > 2;})
should return [3, 9, 2]
.
assert.deepEqual(
dropElements([1, 2, 3, 9, 2], function (n) {
return n > 2;
}),
[3, 9, 2]
);
--seed--
--seed-contents--
function dropElements(arr, func) {
return arr;
}
dropElements([1, 2, 3], function(n) {return n < 3; });
--solutions--
function dropElements(arr, func) {
while (arr.length && !func(arr[0])) {
arr.shift();
}
return arr;
}