🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 链滴笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

Array - initializeArrayWithRangeRight

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]

返回总目录

每天 30 秒系列之 JavaScript 代码


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

推荐阅读
留下你的脚步