2019-05-06
描述
初始化一个指定开始结束范围的倒序数组,其元素的值间隔可以进行自定义。
提示
- 根据开始结束的范围使用
Array.from(Math.ceil((end+1-start)/step))
创建一个特定长度的数组 - 元素个数等于
(end-start)/step
或者等于包含结束范围(end+1-start)/step
- 使用
Array.prototype.map()
填充范围内正确的值 - 起始位置的默认值为
0
- 间隔的默认值为
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
);
示例
倒序创建 5~0 的数组:
initializeArrayWithRangeRight(5); // [5,4,3,2,1,0]
倒序创建 7~3 的数组:
initializeArrayWithRangeRight(7, 3); // [7,6,5,4,3]
倒序创建 9~0 且间隔为 2 的数组:
initializeArrayWithRangeRight(9, 0, 2); // [8,6,4,2,0]