자바 스크립트에서 주어진 크기의 빈 배열을 어떻게 만들 수 있습니까?
의사 코드 :
X = 3;
createarray(myarray, X, "");
산출:
myarray = ["","",""]
답변:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size. 이것은 그 문제를 해결합니다.
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]
Array(10000)와의 크기는 empty x 10000얼마입니까?
console.log(Array(10000).length)하지만 실행 Array(10000).forEach((u, i) => console.log(i))하면 출력이 표시되지 않습니다
Array.apply('x', Array(10))실제로[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Array.from({length: 500})2017 년부터 사용하고 있습니다 .
2018 년부터는이를 위해 사용할 [...Array(500)]것입니다.
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().
ES5 기준 (이 답변이 제공되었을 때) :
빈 undefined요소 배열을 원하면 간단히 할 수 있습니다.
var whatever = new Array(5);
이것은 당신에게 줄 것입니다
[undefined, undefined, undefined, undefined, undefined]
빈 문자열로 채우려면 다음을 수행 할 수 있습니다.
whatever.fill('');
당신에게 줄 것입니다
["", "", "", "", ""]
그리고 한 줄로하고 싶다면 :
var whatever = Array(5).fill('');
new Array(2)내가 얻는 [ <2 empty items> ]것은 [undefined, undefined]. 전자에 사용하면 .map효과가 없습니다. 그러나 for...of루프를 사용하여 반복 할 수 있습니다 . 리터럴 표기법 a = [undefined, undefined]을 사용하여 새 배열을 만들면 사용할 수 있습니다 .map.
Array(5). 다음과 같은 출력이 표시 [undefined x 5]됩니다..
자바 스크립트 메소드 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>