Рубрики
Без рубрики

Как петлю через объекты в JavaScript

Время от времени вам может потребоваться петлю через объекты в JavaScript. Единственный способ сделать это до ES6 был с A для … в петле. Проблема с A для … в цикле состоит в том, что она итализация через свойства в цепочке прототипа. Когда вы обратитесь через объект

Время от времени вам может потребоваться петлю через объекты в JavaScript. Единственный способ сделать это до ES6 был с для ... в петля.

Проблема с для ... в Цикл состоит в том, что он итализатор по свойствам в цепочке прототипа. Когда вы пишите через объект с для ... в Цикл, вам нужно проверить, принадлежит ли свойство объекту. Вы можете сделать это с HasownProperty Отказ

for (var property in object) {  if (object.hasOwnProperty(property)) {    // Do things here  }}

Мы больше не должны положиться на для ... в и HasownProperty. Теперь. Есть лучший способ.

Лучший способ петли через объекты

Лучший способ петли через объекты – Сначала для преобразования объекта в массив. Тогда вы пишите через массив.

Вы можете преобразовать объект в массив с тремя методами:

  1. Объект. Keys.
  2. Object.values.values.
  3. Object.entries.

Объект. Keys.

Объект. Keys Создает массив, который содержит свойства объекта. Вот пример.

const fruits = { apple: 28, orange: 17, pear: 54 };
const keys = Object.keys(fruits);

console.log(keys); // ["apple", "orange", "pear"]

Object.values.values.

Object.values Создает массив, который содержит значения каждого свойства в объекте. Вот пример:

const fruits = { apple: 28, orange: 17, pear: 54 };
const values = Object.values(fruits);

console.log(values); // [28, 17, 54]

Object.entries.

Object.entries создает массив массивов. Каждый внутренний массив имеет два предмета. Первый предмет – это свойство; Второй элемент – это значение.

Вот пример:

const fruits = { apple: 28, orange: 17, pear: 54 };
const entries = Object.entries(fruits);

console.log(entries); // [["apple", 28], ["orange", 17], ["pear", 54]]

Мой любимый из трех – Object.entries. Потому что вы получаете как ключ и значения свойств.

Зацикливаться через массив

Как только вы преобразовали объект в массив с Объект. Keys , Object.values или Object.entries. Вы можете пройти петлю через него, как если бы это был нормальный массив.

const fruits = { apple: 28, orange: 17, pear: 54 };
// Looping through arrays created from Object.keys
const keys = Object.keys(fruits);

for (const key of keys) {  
  console.log(keys);
}

// ["apple", "orange", "pear"]
// ["apple", "orange", "pear"]
// ["apple", "orange", "pear"]

Если вы используете Object.entries , вы можете захотеть разрушение массив в его ключ и свойство.

const fruits = { apple: 28, orange: 17, pear: 54 };
const entries = Object.entries(fruits);

for (const [fruit, count] of entries) {
  console.log(`There are ${count} ${fruit}s`);
}

// "There are 28 apples"
// "There are 17 oranges"
// "There are 54 pears"

Упаковка

Лучший способ петли через объекты сначала преобразуют его в массив одним из этих трех методов.

  1. Объект. Keys.
  2. Object.values.values.
  3. Object.entries.

Затем вы обратитесь через результаты, как обычный массив.

Если этот урок помог вам, может быть наслаждаться Узнайте JavaScript , где вы узнаете, как строить все, что вы хотите с нуля. Зачисление для изучения JavaScript открывается в июле 2018 года (очень скоро!).

Спасибо за прочтение. Эта статья каким-либо образом поможет вам? Если бы я сделал, Я надеюсь, что вы думаете об этом ; Возможно, вы просто поможете кому-то, кто чувствовал то же самое, что вы делали, прежде чем прочитать статью. Спасибо.

Эта статья была первоначально размещена в мой блог . Подпишитесь на мой рассылка Если вы хотите больше статей, чтобы помочь вам стать лучшим разработчиком Frontend.

Оригинал: “https://www.freecodecamp.org/news/how-to-loop-through-objects-in-javascript-a80b7d2478ac/”