【问题标题】:How to create an array with 'a' repeated 'b' times [duplicate]如何创建一个“a”重复“b”次的数组[重复]
【发布时间】:2020-05-23 17:33:09
【问题描述】:

我正在尝试创建一个接收两个变量ab 的函数,该函数将创建一个变量a 重复b 次的数组。

这是我已经走了多远,但它没有输出数组中正确数量的项目:

var createArr = function(a, b) {
    // returns an array with variable a repeated b times.
    if (typeof b == 'number') {
      var arr = [];

      for (var i = 0; i <= b; i++) {
        arr.push(a);
      };
    }
      return arr;
    };
    
 createArr("ready",3)

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    简单:

    function createArr(a, b) {
        return Array(b).fill(a);
    }
    

    【讨论】:

    • @RoboRobok 您可能想首先查看why we mark questions as duplicates。我们不是来这里成为帮助台并获取一些互联网积分。我们来这里是为了建立一个高质量的问答库,供提问者以外的人使用。通过将高质量和最新的答案保存在一个地方,将问题标记为重复有助于实现该目标。 (另外,两个错误并不代表正确。因为其他人也这样做而回答重复并不能证明它是正确的。)
    【解决方案2】:

    如果您使用

    相反,您想使用 不 用于 3。

    另见https://en.wikipedia.org/wiki/Fencepost_error

    【讨论】:

      【解决方案3】:

      for 循环,break 将是 &lt; 而不是 &lt;= 因为当&lt;= for 循环从 0 开始并在它 3 时中断,所以循环 4 次,需要循环 3 次,所以需要使用 &lt;

      var createArr = function(a, b) {
          // returns an array with variable a repeated b times.
          if (typeof b == 'number') {
            var arr = [];
      
            for (var i = 0; i < b; i++) {
              arr.push(a);
            };
          }
            return arr;
          };
          
       console.log(createArr("ready",3));

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-22
        • 2016-10-27
        • 2016-02-23
        • 2011-08-19
        • 2011-10-20
        • 1970-01-01
        • 2015-05-14
        • 2020-12-28
        相关资源
        最近更新 更多