Javascript, преобразование объекта в массив объектов.

Некоторое время назад я написал статью, которая получила некоторую поддержку о преобразовании массива объектов в объект. Сегодня мы сделаем обратное, преобразовав объект в массив объектов.

Вы можете спросить, почему, но ответ на самом деле довольно прост. При программировании мы не всегда контролируем формат, в котором нам доставляются наши данные. Имея это в виду, становится важным понять, как преобразовать наши данные в желаемый формат.

Пример

Используя новые функции Javascript, есть простой лайнер, который может достичь этого результата с помощью Object.values().

const peopleObj = {
  jim: {
    name: "jim",
    age: 20
  },
  tim: {
    name: "tim",
    age: 22
  }
}
const peopleArray = Object.values(peopleObj)

На мой взгляд, если вы используете babel, продолжайте и используйте его, в противном случае я покажу ниже, как вы можете сделать это с помощью более широко поддерживаемой функции Object.keys().

Примечание. В следующем примере используется peopleObj из приведенного выше.

const peopleArray = Object.keys(peopleObj).map(i => peopleObj[i])

Этот второй метод довольно хорошо поддерживается. Ознакомьтесь с документацией MDN Значения объектов и Ключи объектов, чтобы узнать, где у вас могут возникнуть проблемы с поддержкой, и получить дополнительную информацию об этих функциях.

Обратите внимание: если вы предпочитаете пару ключевых значений, ознакомьтесь с разделом Записи объектов.

Спасибо за внимание! Пожалуйста, ознакомьтесь с приведенной ниже документацией MDN для получения дополнительной информации по этой теме. Хлопайте и следите за новыми статьями!

Подпишитесь на меня в твиттере @ chrisburgin95, чтобы время от времени писать твиты о программировании. Спасибо за внимание!