자바 스크립트에서 주어진 크기의 빈 배열을 어떻게 만들 수 있습니까?
의사 코드 :
X = 3;
createarray(myarray, X, "");
산출:
myarray = ["","",""]
답변
var arr = new Array(5);
console.log(arr.length) // 5
답변
1) 반복 할 수없는 새 배열을 만들려면 배열 생성자를 사용할 수 있습니다.
Array(100)
또는 new Array(100)
2) 아래와 같이 반복 할 수있는 새 어레이를 만들 수 있습니다 .
a) 모든 JavaScript 버전
- Array.apply :
Array.apply(null, Array(100))
b) ES6 JavaScript 버전에서
- 비 구조화 연산자 :
[...Array(100)]
- Array.prototype.fill
Array(100).fill(undefined)
- Array.from
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]
답변
Array.from({length: 500})
2017 년부터 사용하고 있습니다 .
답변
while
루프를 사용해보십시오 .Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
또는 Array.prototype.fill()
var myArray = Array(3).fill("");
답변
2018 년부터는이를 위해 사용할 [...Array(500)]
것입니다.
답변
ES5 기준 (이 답변이 제공되었을 때) :
빈 undefined
요소 배열을 원하면 간단히 할 수 있습니다.
var whatever = new Array(5);
이것은 당신에게 줄 것입니다
[undefined, undefined, undefined, undefined, undefined]
빈 문자열로 채우려면 다음을 수행 할 수 있습니다.
whatever.fill('');
당신에게 줄 것입니다
["", "", "", "", ""]
그리고 한 줄로하고 싶다면 :
var whatever = Array(5).fill('');
답변
이 구문을 사용할 수 있도록 일부 값으로 익명 배열을 생성하려는 경우.
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)