Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 1.25 KB

initializeArrayWithRangeRight.md

File metadata and controls

33 lines (24 loc) · 1.25 KB
标题 标签
initializeArrayWithRangeRight(生成连续范围数组(降序)) array(数组)

初始化一个数组,其中包含指定范围内的数字(反向),其中 start 和 end 包含它们的共同差步长。

  • 使用 Array.from() 创建所需长度的数组,(end - start + 1) / step。
  • 使用 Array.prototype.map() 用给定范围内的所需值填充数组。
  • 省略第二个参数 start 以使用默认值 0。
  • 省略最后一个参数 step 以使用默认值 1。
const initializeArrayWithRangeRight = (end, start = 0, step = 1) =>
  Array.from({ length: Math.ceil((end - start + 1) / 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]

应用场景

结果如下:

<iframe src="codes/javascript/html/initializeArrayWithRangeRight.html"></iframe>