Files
30-seconds-of-code/snippets/initializeArrayWithRangeRight.md
2020-09-15 21:52:00 +03:00

972 B

title, tags
title tags
initializeArrayWithRangeRight array,math,intermediate

Initializes an array containing the numbers in the specified range (in reverse) where start and end are inclusive with their common difference step.

  • Use Array.from(Math.ceil((end+1-start)/step)) to create an array of the desired length(the amounts of elements is equal to (end-start)/step or (end+1-start)/step for inclusive end), Array.prototype.map() to fill with the desired values in a range.
  • You can omit start to use a default value of 0.
  • You can omit step to use a default value of 1.
const initializeArrayWithRangeRight = (end, start = 0, step = 1) =>
  Array.from({ length: Math.ceil((end + 1 - start) / step) }).map(
    (v, i, arr) => (arr.length - i - 1) * step + start
  );
initializeArrayWithRangeRight(5); // [5,4,3,2,1,0]
initializeArrayWithRangeRight(7, 3); // [7,6,5,4,3]
initializeArrayWithRangeRight(9, 0, 2); // [8,6,4,2,0]