Канал о Web разработке, для фронтов и full stack.
По рекламе @adtgassetsbot
Admin: @Aleksei
🐍Python - @python_lounge
👨💻Другие языки - @cccoding
🥷Хакер/ИТ безопасность - @it_ha
Post #470
1.01K
Object.keys, values, entries
Давайте отойдём от отдельных структур данных и поговорим об их переборе вообще.
В предыдущей главе мы видели методы
Это универсальные методы, и существует общее соглашение использовать их для структур данных. Если бы мы делали собственную структуру данных, нам также следовало бы их реализовать.
Методы поддерживаются для структур:
Простые объекты также можно перебирать похожими методами, но синтаксис немного отличается.
Object.keys, values, entries
Для простых объектов доступны следующие методы:
Object.keys(obj) – возвращает массив ключей.
Object.values(obj) – возвращает массив значений.
Object.entries(obj) – возвращает массив пар
Обратите внимание на различия (по сравнению с
Map Object Синтаксис вызова
Почему так? Основная причина – гибкость. Помните, что объекты являются основой всех сложных структур в JavaScript. У нас может быть объект
Второе отличие в том, что методы вида
[ Полная статья... ]
Давайте отойдём от отдельных структур данных и поговорим об их переборе вообще.
В предыдущей главе мы видели методы
map.keys(), map.values(), map.entries().Это универсальные методы, и существует общее соглашение использовать их для структур данных. Если бы мы делали собственную структуру данных, нам также следовало бы их реализовать.
Методы поддерживаются для структур:
MapSetArrayПростые объекты также можно перебирать похожими методами, но синтаксис немного отличается.
Object.keys, values, entries
Для простых объектов доступны следующие методы:
Object.keys(obj) – возвращает массив ключей.
Object.values(obj) – возвращает массив значений.
Object.entries(obj) – возвращает массив пар
[ключ, значение].Обратите внимание на различия (по сравнению с
map, например):Map Object Синтаксис вызова
map.keys() Object.keys(obj), не obj.keys() Возвращает перебираемый объект «реальный» массив Первое отличие в том, что мы должны вызвать Object.keys(obj), а не obj.keys().Почему так? Основная причина – гибкость. Помните, что объекты являются основой всех сложных структур в JavaScript. У нас может быть объект
data, который реализует свой собственный метод data.values(). И мы всё ещё можем применять к нему стандартный метод Object.values(data).Второе отличие в том, что методы вида
Object.* возвращают «реальные» массивы, а не просто итерируемые объекты. Это в основном по историческим причинам.[ Полная статья... ]