--- id: a5deed1811a43193f9f1c841 title: Drop it isRequired: true challengeType: 5 forumTopicId: 16010 localeTitle: Брось это --- ## Description
Учитывая массив arr , выполните итерацию и удаление каждого элемента, начиная с первого элемента (индекс 0) до тех пор, пока функция func вернет true когда итерационный элемент пройдет через него. Затем возвращаем остальную часть массива после выполнения условия, иначе arr должен быть возвращен как пустой массив. Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.
## Instructions
## Tests
```yml tests: - text: dropElements([1, 2, 3, 4], function(n) {return n >= 3;}) should return [3, 4]. testString: assert.deepEqual(dropElements([1, 2, 3, 4], function(n) {return n >= 3;}), [3, 4]); - text: dropElements([0, 1, 0, 1], function(n) {return n === 1;}) should return [1, 0, 1]. testString: assert.deepEqual(dropElements([0, 1, 0, 1], function(n) {return n === 1;}), [1, 0, 1]); - text: dropElements([1, 2, 3], function(n) {return n > 0;}) should return [1, 2, 3]. testString: assert.deepEqual(dropElements([1, 2, 3], function(n) {return n > 0;}), [1, 2, 3]); - text: dropElements([1, 2, 3, 4], function(n) {return n > 5;}) should return []. testString: assert.deepEqual(dropElements([1, 2, 3, 4], function(n) {return n > 5;}), []); - text: dropElements([1, 2, 3, 7, 4], function(n) {return n > 3;}) should return [7, 4]. testString: assert.deepEqual(dropElements([1, 2, 3, 7, 4], function(n) {return n > 3;}), [7, 4]); - text: dropElements([1, 2, 3, 9, 2], function(n) {return n > 2;}) should return [3, 9, 2]. testString: assert.deepEqual(dropElements([1, 2, 3, 9, 2], function(n) {return n > 2;}), [3, 9, 2]); ```
## Challenge Seed
```js function dropElements(arr, func) { // Drop them elements. return arr; } dropElements([1, 2, 3], function(n) {return n < 3; }); ```
## Solution
```js function dropElements(arr, func) { // Drop them elements. while (arr.length && !func(arr[0])) { arr.shift(); } return arr; } ```