Удаление элементов массива до тех пор, пока не будет выполнено определенное условие
Для удаления элементов в массиве до тех пор, пока не будет выполнено определенное условие, и получения удаленных элементов, следуйте шагам ниже:
- Откройте Терминал/SSH и введите
node
, чтобы начать практиковаться в написании кода.
- Переберите массив с использованием цикла
for...of
по Array.prototype.entries()
, пока функция, переданная в качестве аргумента, не вернет истинное значение.
- Используйте
Array.prototype.slice()
, чтобы вернуть удаленные элементы.
- Коллбэк-функция
fn
принимает один аргумент, который представляет собой значение элемента.
Ниже представлен пример кода:
const takeUntil = (arr, fn) => {
for (const [i, val] of arr.entries()) if (fn(val)) return arr.slice(0, i);
return arr;
};
takeUntil([1, 2, 3, 4], (n) => n >= 3); // [1, 2]
В приведенном выше примере функция takeUntil()
используется для удаления элементов в массиве [1, 2, 3, 4]
до тех пор, пока значение не станет больше или равно 3. Результат: [1, 2]
.