[javascript] 자바 스크립트는 주어진 크기의 빈 배열을 만듭니다.

자바 스크립트에서 주어진 크기의 빈 배열을 어떻게 만들 수 있습니까?

의사 코드 :

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)