Javascript 创建给定大小的空数组

如何创建给定大小的空数组

伪装代码:

X = 3;
createarray(myarray, X, "");

产出:

   myarray = ["","",""]
202958 次浏览

尝试使用 while循环,Array.prototype.push()

var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}

或者,使用 Array.prototype.fill()

var myArray = Array(3).fill("");
var arr = new Array(5);
console.log(arr.length) // 5

从 ES5开始(在给出这个答案时) :

如果您想要一个 undefined元素的空数组,您可以简单地这样做

var whatever = new Array(5);

这会给你

[undefined, undefined, undefined, undefined, undefined]

在更新的版本中,现在给出了

[empty × 5]

关于空和未定义之间的区别,请参见 另一个问题

如果你想用空字符串填充它,你可以这样做

whatever.fill('');

也就是说

["", "", "", "", ""]

如果你想用一句话来表达:

var whatever = Array(5).fill('');

1) 要创建新的数组,你可以使用数组构造函数:

Array(100)new Array(100)


2) 你可以创建一个新的数组,它的 可以迭代如下:

A) 所有 JavaScript 版本

  • 应用: Array.apply(null, Array(100))

B) 来自 ES6 JavaScript 版本

  • 解构运营商: [...Array(100)]
  • 数组,原型,填充 Array(100).fill(undefined)
  • 数组 Array.from({ length: 100 })

您可以像下面这样映射这些数组。

  • Array(4).fill(null).map((u, i) => i) [0,1,2,3]

  • [...Array(4)].map((u, i) => i) [0,1,2,3]

  • Array.apply(null, Array(4)).map((u, i) => i) [0,1,2,3]

  • Array.from({ length: 4 }).map((u, i) => i) [0,1,2,3]

我们从2017年开始使用 Array.from({length: 500})

在2018年以及今后,我们将使用 [...Array(500)]来实现这一目标。

可以同时使用 javascript 方法 repeat ()和 split ()。

" ".repeat(10).split(" ")

此代码将创建一个数组,该数组有10个项,每个项为空字符串。

const items = " ".repeat(10).split(" ")


document.getElementById("context").innerHTML = items.map((item, index) => index)


console.log("items: ", items)
<pre id="context">


</pre>

如果希望创建具有某些值的匿名数组,则可以使用此语法。

var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)