在javascript中如何创建给定大小的空数组
Psuedo代码:
X = 3;
createarray(myarray, X, "");
输出:
myarray = ["","",""]
答案 0 :(得分:126)
1)要创建新的数组,无法迭代,您可以使用数组构造函数:
new Array(100)
或Array.apply(null, Array(100))
2)您可以创建新的数组,可以迭代,如下所示:
a)所有JavaScript版本
[...Array(100)]
b)来自ES6 JavaScript版
Array(100).fill(undefined)
Array.from({ length: 100 })
Array(4).fill(null).map((u, i) => i)
您可以映射这些数组,如下所示。
[...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]
{{1}} [0,1,2,3]
答案 1 :(得分:36)
var arr = new Array(5);
console.log(arr.length) // 5
答案 2 :(得分:27)
自2017年起,我们使用Array.from({length: 500})
。
答案 3 :(得分:12)
尝试使用while
循环,Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
或者,使用Array.prototype.fill()
var myArray = Array(3).fill("");
答案 4 :(得分:8)
在2018年,从那时起我们将[...Array(500)]
用于此目的。
答案 5 :(得分:6)
如果你想要一个空的include(project_defs.txt)
if (OS)
....
元素数组,你可以简单地做
undefined
这会给你
var whatever = new Array(5);
然后如果你想用空字符串填充它,你可以做
[undefined, undefined, undefined, undefined, undefined]
会给你
whatever.fill('');
如果你想在一行中做到这一点:
["", "", "", "", ""]
答案 6 :(得分:4)
如果您想使用一些值创建匿名数组,以便可以使用此语法。
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)
答案 7 :(得分:0)
您可以同时使用JavaScript方法repeat()和split()。
@ExceptionHandler(NullPointerException.class)
public ResponseEntity<String> handleWebClientResponseException(NullPointerException ex) {
if(ex!=null && ex.getStackTrace().length >0
&& ex.getStackTrace()[0].getFileName().equals("DefaultClientCredentialsTokenResponseClient.java")
&& ex.getStackTrace()[0].getMethodName().equals("getTokenResponse")) {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("auth error detected");
} else {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ex.getMessage());
}
}
此代码将创建一个包含10个项目的数组,每个项目都是空字符串。
" ".repeat(10).split(" ")
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
答案 8 :(得分:-2)
我会这样做:
function emptyArray(length){
var a = [];
for(var i=0,l=length; i<l; i++){
a.push('');
}
return a;
}
var empty10 = emptyArray(10);
如果你想要空字符串,否则
var empty10 = new Array(10);
会创建一个真正空的数组。