Формирование массива высоких карт - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть массив, который дает вывод, как показано ниже.Нужно создать новую пару ключ-значение

var obj = [
{
Title: "North America",
Value: 66457682.57055664,
Year: [
{Value: 11061419.089111328, Year: 2017},
{Value: 11039525.639892578, Year: 2018},
{Value: 11040422.410644531, Year: 2019}
]},
{Title: "USA",
Value: 66457682.57055664,
Year: [
{Value: 11454419.089111328, Year: 2017},
{Value: 11456.639892578, Year: 2018},
{Value: 11056562.410644531, Year: 2019}
]}]

как мне получить массив в этом формате в jQuery?

var year = [2017,2018,2019];

var data = [
{

name:North America
data:[11061419.089111328,11039525.639892578,11056562.410644531]
},
{
name:USA
data:[11061419.034328,13439525.6343478,1167672.4106761]
}]

1 Ответ

0 голосов
/ 17 ноября 2018

Вы можете использовать map для преобразования ваших массивов (без jQuery).

var rawData = [{
    Title: "North America",
    Value: 66457682.57055664,
    Year: [{
        Value: 11061419.089111328,
        Year: 2017
      },
      {
        Value: 11039525.639892578,
        Year: 2018
      },
      {
        Value: 11040422.410644531,
        Year: 2019
      }
    ]
  },
  {
    Title: "USA",
    Value: 66457682.57055664,
    Year: [{
        Value: 11454419.089111328,
        Year: 2017
      },
      {
        Value: 11456.639892578,
        Year: 2018
      },
      {
        Value: 11056562.410644531,
        Year: 2019
      }
    ]
  }
];

var years = rawData[0].Year.map(({Year}) => Year);
console.log(years);

var data = rawData.map(({Title, Year}) => ({
  name: Title,
  data: Year.map(y => y.Value)
}));
console.log(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...