【问题标题】:How to create an array that start and ends with given numbers?如何创建一个以给定数字开头和结尾的数组?
【发布时间】:2021-03-29 17:17:29
【问题描述】:
let start = 2;
let finish = 6;

let arr = Array.from({length: finish}, (_, a) => a + 1); 

有什么方法可以合并变量start,使数组从这个特定的数字开始并增加1直到达到长度?

最终结果应该是一个数组,从起始值 2 开始增加 1,并在达到结束值 6 时结束。在这种情况下为 [2, 3, 4, 5, 6]

【问题讨论】:

  • 我建议您尝试理解您已经拥有的Array.from 表达式。如果您发现该功能的文档不清楚,请在此处更新,
  • 最终的结果应该是什么?
  • 最终结果应该是一个数组,从起始值2开始加一,到结束值6结束。本例中为[2, 3, 4, 5, 6]!跨度>

标签: javascript arrays arraylist


【解决方案1】:
Array.from(
  { length: finish - start },
  (_, i) => start + 1 + i
)

【讨论】:

  • “计算机科学中只有两个难点:缓存失效、命名和一次性错误”。 ;)
【解决方案2】:

Array.from 的两个替代方案:

Array(end - start + 1).fill(0).map((_, i) => start + i);

[...Array(end - start + 1)].map((_, i) => start + i);

如果end 应该是独占的,则删除+ 1。

【讨论】:

    【解决方案3】:

    伪代码:

    arr = new int[finish - start + 1];
            
    for (int i = 0; i < arr.length; i++) {
        arr[i] = start++;
    }
    

    【讨论】:

      【解决方案4】:

      你应该使用你的“开始”号码:

      let start = 2
      let finish = 7
      let arr = Array.from({length: finish}, (_, a) => a + start);
      

      【讨论】:

        猜你喜欢
        • 2022-11-03
        • 2014-06-01
        • 2021-11-11
        • 1970-01-01
        • 2014-08-18
        • 1970-01-01
        • 1970-01-01
        • 2011-08-12
        • 2020-12-27
        相关资源
        最近更新 更多