Изучение различных методов перебора ключей объекта в JavaScript

Перебор ключей объекта — распространенная задача в JavaScript, позволяющая получать доступ к свойствам объекта и манипулировать ими. В этой статье мы рассмотрим несколько методов перебора ключей объекта, приведя примеры кода для каждого метода. Давайте погрузимся!

Метод 1: цикл for…in
Цикл for...in — это простой и широко используемый метод перебора ключей объекта. Он перебирает все перечислимые свойства объекта, включая унаследованные. Вот пример:

const obj = { name: 'John', age: 25, city: 'New York' };
for (let key in obj) {
  console.log(key + ': ' + obj[key]);
}

Метод 2: Object.keys()
Метод Object.keys()возвращает массив имен собственных перечислимых свойств объекта. Он позволяет перебирать только собственные ключи объекта, исключая унаследованные свойства. Вот пример:

const obj = { name: 'John', age: 25, city: 'New York' };
Object.keys(obj).forEach((key) => {
  console.log(key + ': ' + obj[key]);
});

Метод 3: Object.entries()
Метод Object.entries()возвращает массив пар «ключ-значение» собственных перечислимых свойств объекта в виде массивов. Он обеспечивает удобный способ одновременного перебора как ключей, так и значений. Вот пример:

const obj = { name: 'John', age: 25, city: 'New York' };
Object.entries(obj).forEach(([key, value]) => {
  console.log(key + ': ' + value);
});

Метод 4: Object.getOwnPropertyNames()
Метод Object.getOwnPropertyNames()возвращает массив всех имен свойств (перечисляемых или неперечисляемых) объекта. Его можно использовать для перебора всех ключей, включая как собственные, так и унаследованные свойства. Вот пример:

const obj = { name: 'John', age: 25, city: 'New York' };
Object.getOwnPropertyNames(obj).forEach((key) => {
  console.log(key + ': ' + obj[key]);
});

В этой статье мы рассмотрели несколько методов перебора ключей объекта в JavaScript. Цикл for...in, Object.keys(), Object.entries()и Object.getOwnPropertyNames()предоставляют разные подходы для достижения одной и той же цели. В зависимости от вашего конкретного случая использования вы можете выбрать наиболее подходящий метод. Приятного кодирования!