создать объект JSON, начиная с другого объекта JSON - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь настроить My API для работы с Chart.js

мой API содержит

{
    "Food": 900,
    "Shopping": 0,
    "Travel": 600,
    "Health": 0
}

должно быть как

[
    {
      data:900,
      label: 'Food'
    },

    {
      data: 0,
      label: 'Shopping'
    },

    {
      data: 600,
      label: 'Travel'
    },
    {
      data: 0,
      label: 'Health'
    }
];

Ответы [ 4 ]

0 голосов
/ 25 января 2019

Также возможно сделать это с Object.keys. Вот пример

вы можете посмотреть документацию Object.Keys здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

var data = { "Food": 900, "Shopping": 0, "Travel": 600, "Health": 0 };
let result = [];
Object.keys(data).forEach(prop => 
result.push({
data: data[prop],
label: prop
}));

console.log(result);
0 голосов
/ 25 января 2019

Конечно, просто итерируйте по Object.entries и push каждой реквизите и пометьте массив:

const data = { "Food": 900, "Shopping": 0, "Travel": 600, "Health": 0 };
let result = [];
Object.entries(data).forEach(prop => result.push({
  "data": prop[1],
  "label": prop[0]
}));

console.log(result);
0 голосов
/ 25 января 2019

Я думаю, что это поможет

let origin = { "Food": 900, "Shopping": 0, "Travel": 600, "Health": 0 };

let newObject = Object.entries(origin).reduce((obj, item) => {
  obj.push({
    "label": item[0],
    "data": item[1]
  });
 return obj;
}, [])

console.log(newObject)

Вы можете посмотреть это видео , чтобы лучше понять, как работает Reduce. Удачи!

0 голосов
/ 25 января 2019

Получите массив ключей ваших объектов, используя Object.Keys(yourObjectHere) Затем вы можете просмотреть этот массив и использовать ключи для доступа к значению, сохраненному для каждого ключа в вашем объекте.Во время той же итерации вы можете добавить свой новый объект.Пример:

var keys = Object.Keys(yourObjectHere)
for(var i = 0; i < keys.length; i++){
    var value = yourObjectHere[keys[i]];
    //add value and keys[i] to your new object
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...