【问题标题】:How to generate range with MIN MAX using Array.from如何使用 Array.from 生成具有 MIN MAX 的范围
【发布时间】:2016-08-04 18:23:21
【问题描述】:

使用 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]

我的问题是如何生成具有MinMax 边界的范围,一般使用Array.from 而不是其他东西(不限于0 作为范围的第一个元素)?

【问题讨论】:

    标签: javascript arrays ecmascript-6 range


    【解决方案1】:

    可以通过识别范围的长度: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)
      )

    【讨论】:

    • 只是想在此处添加,如果 OP 不希望范围包含最大值,则只需设置 {length: MAX - MIN} 不带 +1。
    • @Kadima。这是很好的提示。谢谢.. 这个问题很好,因为它有助于迁移到 ES6 并避免为此问题使用外部库(生成 Range)
    猜你喜欢
    • 1970-01-01
    • 2015-06-05
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多