【问题标题】:Dynamically create js Array filled with certain value [duplicate]动态创建填充特定值的js数组[重复]
【发布时间】:2015-06-11 07:31:48
【问题描述】:

我想知道是否有一种方法可以在 one-liner 中创建 javascript/jquery 数组以接收如下内容:

my_array = ['-', '-', ,'-' ,'-']

想法是创建的数组应该是动态长度的,并且所有的值都用给定的值填充。

提前致谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    试试:

    var total = 4;
    var my_array = new Array(total + 1).join("-").split("");
    
    document.write(JSON.stringify(my_array))

    .fill 支持原生函数将在 (ECMAScript 6) 中添加,但目前不可用。

    if(!Array.prototype.fill){
        Array.prototype.fill = function(val){
            for (var i = 0; i < this.length; i++){
                this[i] = val
            }
            return this
        }
    }
    
    var my_array = new Array(4).fill("-"); //returns ["-","-","-","-"]
    

    【讨论】:

    • 这仅在您想用单个字符串填充数组时才有效。尝试将"-" 切换为"abc" 以了解我的意思。
    • 这就是为什么“downvote”?原因:问题。
    【解决方案2】:

    尝试使用:

    Array.apply(null, new Array(63)).map(String.prototype.valueOf,"-")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-09
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多