Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

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 代码


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

推荐阅读
留下你的脚步