- Цикл for…in: цикл
for...in
может быть использован для перебора всех свойств объекта. В ходе каждой итерации цикла будет получено следующее имя свойства объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
for (let prop in obj) {
console.log(`${prop}: ${obj[prop]}`)
}
// "name: John"
// "age: 30"
// "hobbies: reading,swimming"
- Метод Object.keys(): метод
Object.keys()
возвращает массив, содержащий все имена собственных перечисляемых свойств объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const keys = Object.keys(obj)
console.log(keys) // ["name", "age", "hobbies"]
- Метод Object.values(): метод
Object.values()
возвращает массив, содержащий все значения собственных перечисляемых свойств объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const values = Object.values(obj)
console.log(values) // ["John", 30, ["reading", "swimming"]]
- Метод Object.entries(): метод
Object.entries()
возвращает массив, содержащий все собственные перечисляемые свойства объекта в виде пар “ключ: значение”.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const entries = Object.entries(obj)
console.log(entries)
// [ ["name", "John"], ["age", 30], ["hobbies", ["reading", "swimming"]] ]
Важно понимать, что в цикле for...in
будут перебираться все свойства объекта, включая свойства, которые были унаследованы от прототипа объекта. Однако, методы Object.keys()
, Object.values()
и Object.entries()
будут работать только со свойствами, которые были определены непосредственно в объекте, а не унаследованными.