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