如何使用Array.from生成最小值和最大值范围

4

使用 Array.from,我可以按照以下方式创建从0N-1的范围:

var N=6;
log( Array.from({length:N},(v,k)=>k) )
<script>var log=(m)=>console.log(m)</script>

这将生成[0,1,2,...,N-1]

我的问题是如何使用 Array.from 通用地生成具有MinMax边界的范围,而不是仅限于将0作为范围的第一个元素?

1个回答

9

通过识别范围的长度:MAX-MIN+1和识别该范围的第一个元素:k+MIN,就可以实现。

然后:

var MIN=18,MAX=23 //--> [18,19,20,21,22,23] EXPECTED
console.log(
    Array.from({length:MAX-MIN+1},(v,k)=>k+MIN)
  )


1
只是想在这里补充一下,如果OP不希望范围包括最大值,那么只需设置{length: MAX - MIN}而不需要+1。 - Kadima
@Kadima. 这是一个好的提示。谢谢。这个问题很好,因为它将有助于迁移到 ES6,并避免使用外部库来解决这个问题(生成范围)。 - Abdennour TOUMI

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接