Files
30-seconds-of-code/snippets/js/s/initialize-array-while.md
2023-05-14 12:21:52 +03:00

1.1 KiB

title, type, language, tags, author, cover, dateModified
title type language tags author cover dateModified
Initialize array while snippet javascript
array
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 variable i and an element el.
  • Use a while loop to add elements to the array, using the mapFn function, as long as the conditionFn function returns true for the given index i and element el.
  • 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]