У цій статті ми дізнаємося, як виконувати ітерацію по об’єкту JavaScript. Під час ітерації ви переглядаєте властивості об’єкта одну за одною, і залежно від методу, який ви використовуєте для ітерації, ви можете мати різний доступ до цих властивостей.
Існує багато методів ітерації по об’єкту, які обговорюються нижче:
Зміст
- Використання циклу for…in
- Використання методів Object.entries() і map().
- Використання методів forEach() і object.keys().
- Використання методу Lodash _.forOwn().
Спосіб 1: Використання для...в циклі
Властивості об’єкта можна повторювати за допомогою циклу for..in. Цей цикл використовується для повторення всіх властивостей об’єкта, що не підлягають ітерації символів. Деякі об'єкти можуть містити властивості, які можуть бути успадковані від їх прототипів. The hasOwnProperty() метод можна використовувати, щоб перевірити, чи властивість належить самому об’єкту. Значення кожного ключа об’єкта можна знайти, використовуючи ключ як індекс об’єкта.
Синтаксис:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } }>приклад: Цей приклад демонструє реалізацію описаного вище підходу.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } } iterateObject();> Вихід
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Спосіб 2: Використання Метод Object.entries(). і map() метод
The Метод Object.entries(). використовується для повернення масиву власних перерахованих пар властивостей об’єкта з рядковим ключем. Повернений масив використовується з map() метод вилучення ключа та значення з пар. Ключ і значення з пари ключ-значення можна витягти шляхом доступу до першого та другого індексу пари масиву. Перший індекс відповідає ключу, а другий індекс відповідає значенню пари.
Синтаксис:
Object.entries(exampleObj).map(entry =>{ let key = entry[0]; нехай значення = запис[1]; console.log(ключ, значення); });>>приклад: Цей приклад демонструє реалізацію описаного вище підходу.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ let key = entry[0]; нехай значення = запис[1]; console.log(ключ, значення); }); } iterateObject();> Вихід
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Спосіб 3: Використання метод forEach(). і Метод object.keys().
Object.keys() повертає масив ключів об’єкта andforEach()>це метод масиву, який дозволяє вам перебирати кожен елемент у масиві.
приклад: Цей приклад демонструє реалізацію описаного вище підходу.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ значення const = exampleObj[ключ]; console.log(`${key}: ${value}`); }); } iterateObject();> Вихід
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>
Спосіб 4: Використання Метод Lodash _.forOwn().
У цьому підході ми використовуємо метод Lodash _.forOwn(), який допомагає перебирати об’єкти.
приклад: Цей приклад демонструє реалізацію описаного вище підходу.
Javascript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); });> Вихід:
a = 1 b = 2 c = 3>
Спосіб 5: використання методів Object.values() і forEach().
Метод Object.values() повертає масив власних перерахованих значень властивостей об’єкта. Поєднавши це з методом forEach(), ви можете перебирати кожне значення. Щоб також отримати доступ до відповідних ключів, ви можете використовувати метод Object.keys() у тандемі.
Синтаксис:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(ключ, значення); });>приклад:
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(ключ, значення); }); } iterateObject();> Вихід
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>