> Какие способы есть для итерации по объекту в JavaScript кроме for-in (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: EvApps
Стек: JavaScript
> Пример ответа
Помимо for...in, в JavaScript есть несколько способов итерации по объекту:
Object.keys()+forEach()- получаем массив собственных перечисляемых ключей и проходим по нему:
JAVASCRIPTObject.keys(obj).forEach(key => {console.log(key, obj[key]);});
Object.values()- итерация по значениям (без ключей):
JAVASCRIPTObject.values(obj).forEach(value => console.log(value));
Object.entries()- получаем массив пар[ключ, значение]:
JAVASCRIPTObject.entries(obj).forEach(([key, value]) => {console.log(key, value);});
for...ofсObject.keys()/Object.entries()- если нужен ранний выход (break/continue):
JAVASCRIPTfor (const key of Object.keys(obj)) {console.log(key, obj[key]);}
Object.getOwnPropertyNames()- итерация по всем собственным ключам (включая неперечисляемые):
JAVASCRIPTObject.getOwnPropertyNames(obj).forEach(key => {console.log(key, obj[key]);});
Reflect.ownKeys()- итерация по всем собственным ключам (включая символы):
JAVASCRIPTReflect.ownKeys(obj).forEach(key => {console.log(key, obj[key]);});
Важно: for...in проходит по цепочке прототипов, остальные методы - только по собственным свойствам. Для массивов и Map/Set используйте for...of.
> Похожие задачи по frontend
Пример замыкания с внутренней функцией и предмет замыкания в JavaScript
Уровень: seniorКатегория: Технические вопросы
Компания: Кэтрид Диджитал
Стек: JavaScript
Чем собственные свойства отличаются от унаследованных в JavaScript
Уровень: seniorКатегория: Технические вопросы
Компания: EvApps
Стек: JavaScript
Почему parseInt в JavaScript может возвращать NaN и как влияет второй аргумент
Уровень: seniorКатегория: Технические вопросы
Компания: Иннотех
Стек: JavaScript
На какой стадии отрабатывают внешние нецелевые обработчики событий в DOM
Уровень: seniorКатегория: Технические вопросы
Компания: DigitalSail
Стек: JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью