PROG_WAY_BLOG Telegram 358
Как создать массив фиксированной длины?

На самом деле, способов множество. Можно создать простой массив пустых элементов:
Array(100)


Но тогда будет проблема с тем, чтобы его заполнить.
Решить её очень просто — можно просто заполнить массив через метод fill:
Array(100).fill(0)


Или мы можем попробовать вызвать метод map и заполнить массив индексами:
Array(100).map((_, index) => index)


Пробуйте угадать что получится в ходе выполнения кода выше😂

Ответ:
⬇️

Получится [empty × 100], а не массив индексов)

Тут дело в том, что при вызове Array(100) у нас изначально создаётся "разряженный" массив. Это когда под каждый элемент массива даже память не выделяется.

Язык просто создаёт пустую структуру с полем length в значении 100


А что будет, если вызвать вот такой код?
Object.keys(Array(100)).length


Ответ: ноль, потому что значений в массиве по сути то и нет. Поэтому и map не работает

Поэтому если мы хотим использовать map, то придётся использовать вот такой хак:
[...Array(100)].map((_, index) => index)

Такая конструкция уже превратит разряженный массив в массив из сотни undefined и позволит вызвать map

Мой любимый способ, который я использую всегда в подобных кейсах:
Array.from({ length: 100 })


Мне так привычнее и синтаксически наиболее понятно. Да и ещё фишка в том, что вторым аргументом в from можно сразу передать функцию-маппер:
Array.from({ length: 100 }, () => 'привет')


Ну или прям совсем в лоб, про такое тоже не забываем:
const array = []

for (let i = 0; i < 100; i++) {
array.push('progway')
}


Спасибо за прочтение, это важно для меня ❤️

@prog_way_blogчат — #web #javascript #theory #data
Please open Telegram to view this post
VIEW IN TELEGRAM
👍358🐳7👀3🤔1🗿1



tgoop.com/prog_way_blog/358
Create:
Last Update:

Как создать массив фиксированной длины?

На самом деле, способов множество. Можно создать простой массив пустых элементов:

Array(100)


Но тогда будет проблема с тем, чтобы его заполнить.
Решить её очень просто — можно просто заполнить массив через метод fill:
Array(100).fill(0)


Или мы можем попробовать вызвать метод map и заполнить массив индексами:
Array(100).map((_, index) => index)


Пробуйте угадать что получится в ходе выполнения кода выше😂

Ответ:
⬇️

Получится [empty × 100], а не массив индексов)

Тут дело в том, что при вызове Array(100) у нас изначально создаётся "разряженный" массив. Это когда под каждый элемент массива даже память не выделяется.

Язык просто создаёт пустую структуру с полем length в значении 100


А что будет, если вызвать вот такой код?
Object.keys(Array(100)).length


Ответ: ноль, потому что значений в массиве по сути то и нет. Поэтому и map не работает

Поэтому если мы хотим использовать map, то придётся использовать вот такой хак:
[...Array(100)].map((_, index) => index)

Такая конструкция уже превратит разряженный массив в массив из сотни undefined и позволит вызвать map

Мой любимый способ, который я использую всегда в подобных кейсах:
Array.from({ length: 100 })


Мне так привычнее и синтаксически наиболее понятно. Да и ещё фишка в том, что вторым аргументом в from можно сразу передать функцию-маппер:
Array.from({ length: 100 }, () => 'привет')


Ну или прям совсем в лоб, про такое тоже не забываем:
const array = []

for (let i = 0; i < 100; i++) {
array.push('progway')
}


Спасибо за прочтение, это важно для меня ❤️

@prog_way_blogчат — #web #javascript #theory #data

BY progway — программирование, IT


Share with your friend now:
tgoop.com/prog_way_blog/358

View MORE
Open in Telegram


Telegram News

Date: |

Read now Write your hashtags in the language of your target audience. Matt Hussey, editorial director at NEAR Protocol also responded to this news with “#meIRL”. Just as you search “Bear Market Screaming” in Telegram, you will see a Pepe frog yelling as the group’s featured image. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police.
from us


Telegram progway — программирование, IT
FROM American