В объекте 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); }