Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Что такое "разрежённый массив" и какая у него будет длина? #5558

Closed
nasty23-star opened this issue Nov 20, 2024 · 2 comments · Fixed by #5559
Assignees
Labels
js Контент по JavaScript статья Расширенный материал улучшение Доработка существующего

Comments

@nasty23-star
Copy link
Contributor

nasty23-star commented Nov 20, 2024

Как интересный факт добавить в статью "Массивы" про разрежённые массивы и про то, что дыры в массиве тоже считаются при подсчёте длины массива.

@nasty23-star nasty23-star self-assigned this Nov 20, 2024
@TatianaFokina TatianaFokina added улучшение Доработка существующего js Контент по JavaScript статья Расширенный материал labels Nov 20, 2024
@TatianaFokina TatianaFokina added this to the Бэклог JS milestone Nov 20, 2024
@nasty23-star nasty23-star changed the title Что такое "разреженный массив" и какая у него будет длина? Что такое "разрежённый массив" и какая у него будет длина? Dec 12, 2024
@alexeyten
Copy link

Ещё бы добавить что методы массивов типа map/filter и т.д. не обрабатывают пропущенные элементы. И что пропущенные элементы это не то же самое что значение undefined.

> a = [undefined,,0]
[ undefined, <1 empty item>, 0 ]
> Object.keys(a)
[ '0', '2' ]
> a[0]
undefined
> a[1]
undefined
> 0 in a
true
> 1 in a
false
> a.map(() => true)
[ true, <1 empty item>, true ]
> a.filter(x => !x)
[ undefined, 0 ]

И что лучше таких массивов избегать, особенно если они используются часто.

@vitya-ne
Copy link
Contributor

vitya-ne commented Dec 14, 2024

Ещё бы добавить что методы массивов типа map/filter и т.д. не обрабатывают пропущенные элементы. И что пропущенные элементы это не то же самое что значение undefined.

@alexeyten, Привет, спасибо за замечание.
Частично, эта тема раскрыта в конкрентых статьях, например: .map().
Но в некоторых метадах, упоминание о <empty slots> действительно упущено.
Возможно стоит добавить информацию именно в конкретные статьи ? Если же есть идеи как это сформулировать в общей статье - тоже ок.
Будем рады пулл-реквесту )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
js Контент по JavaScript статья Расширенный материал улучшение Доработка существующего
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants