Преобразовать объект в массив json с заданными ключами

У меня есть объект вроде

{ labels: ["city A", "city B"], data: ["Abc", "Bcd"] };

Я хочу преобразовать объект выше, как показано ниже, массив json

[
  { labels: "city A", data: "Abc" },
  { labels: "city B", data: "Bcd" },
];
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете добиться этого примерно так:

const original = {
  labels: ['city A', 'city B'],
  data: ['Abc', 'Bcd']
};

let merged = [];
const keys = Object.keys(original);
for (let idx = 0; idx < keys.length; idx++) {
  const entry = Object.assign.apply({},
    keys.map((key) => ({
      [key]: original[key][idx]
    }))
  );
  merged.push(entry);
}

console.info(merged);

Как это дает желаемый результат? Нет даже двух входных объектов.

evolutionxbox 06.05.2022 10:08

хотите объединить как [ { "labels": "город A", "data:"Abc" }, { "labels":"city B", "data:"Bcd" } ]

samir 06.05.2022 10:11

@samir проверь сейчас ?

Joel 06.05.2022 10:51

Почему original представляет собой массив объектов, состоящий только из одного элемента?

Harun Yilmaz 06.05.2022 11:08

@HarunYilmaz Вот в чем был вопрос.

Joel 06.05.2022 11:09

@Joel, кажется, вопрос заключается в преобразовании объекта в массив, а не массива в массив.

Harun Yilmaz 06.05.2022 11:10

@HarunYilmaz Не уверен, что понимаю, что вы имеете в виду. Вы имеете в виду «не массив объектов», а скорее простой объект для массива объектов?

Joel 06.05.2022 11:12

@ Джоэл, твой код работает нормально. Вам просто нужно установить original = {...} вместо original = [{...}], чтобы сделать его объектом, а не массивом с 1 элементом.

Harun Yilmaz 06.05.2022 11:14

@HarunYilmaz Да, это тоже обновлено ?.

Joel 06.05.2022 11:15

Другие вопросы по теме