Object.entries()
Object.entries() - це вбудований метод JavaScript,
який повертає масив пар [ключ, значення] для всіх власних (неуспадкованих) перелічуваних властивостей об'єкта.
Синтаксис
javascript
Object.entries(obj)obj- об'єкт, чиї властивості потрібно перетворити на пари.- Повертає масив масивів, де кожен внутрішній масив - це
[key, value].
Приклад
javascript
const user = {
name: 'Тим',
age: 25,
city: 'Berlin'
};
console.log(Object.entries(user));Результат:
javascript
[
['name', 'Тим'],
['age', 25],
['city', 'Berlin']
]Кожна пара [ключ, значення] - це елемент підсумкового масиву.
Особливості
- Повертає лише власні властивості:
javascript
const base = { type: 'human' };
const user = Object.create(base);
user.name = 'Тим';
console.log(Object.entries(user)); // [['name', 'Тим']]- Повертає лише перелічувані властивості (
enumerable: true):
javascript
const obj = {};
Object.defineProperty(obj, 'hidden', { value: 42, enumerable: false });
obj.visible = 10;
console.log(Object.entries(obj)); // [['visible', 10]]- Порядок збігається з
Object.keys()іObject.values().
Часто використовується для перебору об'єкта
javascript
const user = { name: 'Тим', age: 25 };
for (const [key, value] of Object.entries(user)) {
console.log(`${key}: ${value}`);
}Виведе:
javascript
name: Тим
age: 25Приклад: перетворити об'єкт на Map
javascript
const user = { name: 'Тим', age: 25 };
const userMap = new Map(Object.entries(user));
console.log(userMap.get('age')); // 25Object.entries() зручно використовувати для конверсії між Object і Map.
Приклад зворотного перетворення (з пар назад в об'єкт)
javascript
const entries = [
['name', 'Тим'],
['age', 25]
];
const user = Object.fromEntries(entries);
console.log(user); // { name: 'Тим', age: 25 }ПІДСУМОК
| Метод | Що повертає | Враховує прототип | Тип даних |
|---|---|---|---|
Object.keys(obj) | масив ключів | Ні | Array<string> |
Object.values(obj) | масив значень | Ні | Array<any> |
Object.entries(obj) | масив пар [ключ, значення] | Ні | Array<[string, any]> |
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.