Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как перебрать свойства объекта

Короткий ответ

Object.entries() возвращает пары «имя и значение», которые удобно перебирать в for...of:

const user = { name: 'Anna', age: 25 };
 
for (const [key, value] of Object.entries(user)) {
  console.log(key + ': ' + value);
}

Результат:

name: Anna
age: 25

Только имена или только значения

Для этого есть Object.keys() и Object.values():

const user = { name: 'Anna', age: 25 };
 
console.log(Object.keys(user).join(', '));
console.log(Object.values(user).join(', '));

Результат:

name, age
Anna, 25

Цикл for...in

for...in проходит по ключам объекта:

const prices = { tea: 3, cake: 5 };
 
for (const key in prices) {
  console.log(key, prices[key]);
}

Результат:

tea 3
cake 5

Частая ошибка

for...of напрямую с обычным объектом не работает, потому что объект не перебираемый. Используйте Object.entries():

try {
  for (const item of { a: 1 }) console.log(item);
} catch (error) {
  console.log(error.name);
}

Результат:

TypeError

Функции из этого ответа

  • Object.entries — Возвращает массив пар «имя свойства и значение».
  • Object.keys — Возвращает массив имён свойств объекта.
  • Object.values — Возвращает массив значений свойств объекта.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.