1.1 KiB
1.1 KiB
title, type, language, tags, author, cover, dateModified
| title | type | language | tags | author | cover | dateModified | |
|---|---|---|---|---|---|---|---|
| Initialize array while | snippet | javascript |
|
chalarangelo | neon-desk-1 | 2023-06-20T05:00:00-04:00 |
Initializes and fills an array with values generated by a function, while a condition is met.
- Create an empty array,
arr, an index variableiand an elementel. - Use a
whileloop to add elements to the array, using themapFnfunction, as long as theconditionFnfunction returnstruefor the given indexiand elementel. - The condition function,
conditionFn, takes three arguments: the current index, the previous element and the array itself. - The mapping function,
mapFn, takes three arguments: the current index, the current element and the array itself.
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(
(i, val) => val < 10,
(i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2])
); // [1, 1, 2, 3, 5, 8]