Клавиша / esc

Создание массива из большого количества повторяющихся элементов

Несколько способов создания массива из большого количества повторяющихся элементов на примере котиков.

Время чтения: меньше 5 мин

Задача

Скопировано

Создать массив из большого количества повторяющихся элементов.

Готовое решение

Скопировано

Есть несколько разных способов для создания массива с котиками.

Допустим, нам нужно завести котиков в 100 комнат, по одному на комнату, как это сделать? Можно выделить место (память) для котиков, а потом заселить туда котиков:

        
          
          Array(100).fill("😸")  // Чуть более функциональный стиль
          Array(100).fill("😸")  // Чуть более функциональный стиль

        
        
          
        
      

Также мы можем выделить 100 комнат, а потом пройти в каждую и руками туда посадить кота. Массив можно создать с помощью деструктуризации [...].

        
          
          [...Array(100)].map(() => "😸")
          [...Array(100)].map(() => "😸")

        
        
          
        
      

Также можно создать массив с помощью функции Array.from, указав способ обработки каждого элемента.

        
          
          Array.from(Array(100), () => "😸")
          Array.from(Array(100), () => "😸")

        
        
          
        
      

В Array.from также можно передать array-like структуру данных, для этого нам нужно передать поле length.

        
          
          Array.from({ length: 100 }, () => '😸')
          Array.from({ length: 100 }, () => '😸')

        
        
          
        
      

Можно создать пустой массив, создать цикл и поселить в каждую комнату по её индексу по коту.

        
          
          const arr = []for(let i=0; i<100; i++){    arr[i] = "😸" // Чуть более императивный стиль}
          const arr = []
for(let i=0; i<100; i++){
    arr[i] = "😸" // Чуть более императивный стиль
}

        
        
          
        
      

Также можно пушить элементы в конец массива, это будет работать быстрее на большом количестве элементов.

        
          
          const arr = []for(let i=0; i<100; i++){    arr.push("😸")}
          const arr = []
for(let i=0; i<100; i++){
    arr.push("😸")
}