Подтвердить что ты не робот

Javascript создает пустой массив заданного размера

в JavaScript, как бы я создать пустой массив заданного размера

Код Псуэдо:

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

выход:

   myarray = ["","",""]
4b9b3361

Ответ 1

var arr = new Array(5);
console.log(arr.length) // 5

Ответ 2

1) Чтобы создать новый массив, который вы не можете перебрать, вы можете использовать конструктор массива:

Array(100) или new Array(100)


2) Вы можете создать новый массив, который можно повторять, как показано ниже:

а) Все версии JavaScript

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

б) из 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]

Ответ 3

Мы используем Array.from({length: 500}) с 2017 года.

Ответ 4

Попробуйте использовать цикл while, Array.prototype.push()

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

В качестве альтернативы, используя Array.prototype.fill()

var myArray = Array(3).fill("");

Ответ 5

В 2018 году и с этого времени мы будем использовать [...Array(500)] с этой целью.

Ответ 6

Если вам нужен пустой массив элементов undefined, вы можете просто сделать

var whatever = new Array(5);

это даст вам

[undefined, undefined, undefined, undefined, undefined]

а затем, если вы хотите, чтобы он был заполнен пустыми строками, вы могли бы сделать

whatever.fill('');

который даст вам

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

И если вы хотите сделать это в одной строке:

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

Ответ 7

Я бы сделал это:

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);

сделает действительно пустой массив.