Как инициализировать и заполнить массив с использованием цикла while в JavaScript
Для начала практики программирования на JavaScript откройте Терминал/SSH и введите node
.
Функция initializeArrayWhile
инициализирует и заполняет массив значениями, сгенерированными функцией, при условии, что оно выполняется. Вот, как это работает:
- Создайте пустой массив под названием
arr
, переменную индекса под названием i
и элемент под названием el
.
- Используйте цикл
while
, чтобы добавлять элементы в массив с использованием функции mapFn
, пока функция conditionFn
возвращает true
для заданного индекса i
и элемента el
.
- Функция
conditionFn
принимает три аргумента: текущий индекс, предыдущий элемент и сам массив.
- Функция
mapFn
принимает три аргумента: текущий индекс, текущий элемент и сам массив.
- Функция
initializeArrayWhile
возвращает массив.
Вот код:
const initializeArrayWhile = (conditionFn, mapFn) => {
const arr = [];
let i = 0;
let el = mapFn(i, undefined, arr);
while (conditionFn(i, el, arr)) {
arr.push(el);
i++;
el = mapFn(i, el, arr);
}
return arr;
};
Вы можете использовать функцию initializeArrayWhile
для инициализации и заполнения массива значениями. Например:
initializeArrayWhile(
(i, val) => val < 10,
(i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2])
); // [1, 1, 2, 3, 5, 8]