В объекте javascript содержатся свойства пары значений ключа, и итерация по объекту отличается от массивов. Объекты можно перебирать с помощью циклов for...in и Object.keys(), Object.values() и Object.entries(). Давайте посмотрим, как можно использовать каждый метод:

1. используя`for...in` method

const person = {
    name: 'John',
    age: 30,
    occupation: 'Engineer'
  };
 for(let key in persons){
     console.log(`${person[key]} : ${key}`)
}
   //output
   // name: 'John',
   // age: 30,
   // occupation: 'Engineer'

2.Использование метода Object.keys():

object.keys() — метод JavaScript, который принимает объект в качестве аргумента и возвращает массив ключей.

const person = {
    name: 'John',
    age: 30,
    occupation: 'Engineer'
  };
const Object_keys = Object.keys(person);
console.log(Object_keys)// [ 'name', 'age', 'occupation']

мы можем использовать object.keys() для перебора объекта

const person = {
    name: 'John',
    age: 30,
    occupation: 'Engineer'
  };
const Object_keys = Object.keys(person);
 
//here first i have used Object_keys array which i got from Object.keys(person);
for(let i = 0 ; i<Object_keys.length;i++){
  console.log(`${Object_keys[i]} : ${person[Object_keys[i]]}`);
}

//here i have used Object_keys array which i got from Object.keys(person);
for(let keys of Object_keys){
  console.log(`${keys} : ${person[keys]}`);
}

// here i have just directly use object.key() method
for(let keys of Object.keys(person)){
  console.log(`${keys}: ${person[keys]}`);
}

// all three ways will give same output
name : John
age : 30
occupation : Engineer

3.Использование Object.entries():

Object.entries() — это метод JavaScript, который принимает объект в качестве аргумента и возвращает двухмерный массив пары ключ-значение.

const person = {
    name: 'John',
    age: 30,
    occupation: 'Engineer'
  };

const Object_keyValue = Object.entries(person);

//output
// [ [ 'name', 'John' ], [ 'age', 30 ], [ 'occupation', 'Engineer' ] ]

мы можем использовать Object.entries() для перебора объекта

const person = {
    name: 'John',
    age: 30,
    occupation: 'Engineer'
  };

for (const [key, value] of Object.entries(person)) {
  console.log(`${key} : ${value}`);
}

//output
   // name: 'John',
   // age: 30,
   // occupation: 'Engineer'

4. Использование Object.values():

Object.values() возвращает массив значений собственных перечислимых свойств объекта. Это может быть полезно, если вас интересуют только значения, а не ключи.

const myObject = {
  prop1: 'value1',
  prop2: 'value2',
  prop3: 'value3'
};

const values = Object.values(myObject);

for (const value of values) {
  console.log(value);
}