> Какие способы есть для итерации по объекту в JavaScript кроме for-in (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: EvApps

Стек: JavaScript

> Пример ответа

Помимо for...in, в JavaScript есть несколько способов итерации по объекту:

  1. Object.keys() + forEach() - получаем массив собственных перечисляемых ключей и проходим по нему:
JAVASCRIPT
Object.keys(obj).forEach(key => {
console.log(key, obj[key]);
});
  1. Object.values() - итерация по значениям (без ключей):
JAVASCRIPT
Object.values(obj).forEach(value => console.log(value));
  1. Object.entries() - получаем массив пар [ключ, значение]:
JAVASCRIPT
Object.entries(obj).forEach(([key, value]) => {
console.log(key, value);
});
  1. for...of с Object.keys() / Object.entries() - если нужен ранний выход (break/continue):
JAVASCRIPT
for (const key of Object.keys(obj)) {
console.log(key, obj[key]);
}
  1. Object.getOwnPropertyNames() - итерация по всем собственным ключам (включая неперечисляемые):
JAVASCRIPT
Object.getOwnPropertyNames(obj).forEach(key => {
console.log(key, obj[key]);
});
  1. Reflect.ownKeys() - итерация по всем собственным ключам (включая символы):
JAVASCRIPT
Reflect.ownKeys(obj).forEach(key => {
console.log(key, obj[key]);
});

Важно: for...in проходит по цепочке прототипов, остальные методы - только по собственным свойствам. Для массивов и Map/Set используйте for...of.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью