Javascript преобразовать объект для построения графиков - PullRequest
3 голосов
/ 04 августа 2020

Мне нравится использовать chartkick , поэтому мне нужно преобразовать следующий объект:

var array = [{date:'01/01/2017',value1:200,value2:300,value3:400}, {date:'02/01/2017',value1:220,value2:330,value3:430},{date:'03/01/2017',value1:250,value2:330,value3:420}]

В следующий формат:

var arrayOne = [{'01/01/2017': 200 , '02/01/2017': 220 , '03/01/2017':250}]

Любой помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 04 августа 2020

используя карту, вы также можете это сделать

var arra = [{ date: '01/01/2017', value1: 200, value2: 300, value3: 400 }, { date: '02/01/2017', value1: 220, value2: 330, value3: 430 }, { date: '03/01/2017', value1: 250, value2: 330, value3: 420 }]
        
var finalArr = arra.map(data => {
    let obje = {}
    obje[data.date] = data.value1
    return obje
})
console.log(finalArr);
1 голос
/ 04 августа 2020

Вы можете просто уменьшить его, как в следующем примере. Не знаю, зачем вам нужен массив с одним элементом в качестве вывода, но если вам это действительно нужно, просто оберните его []

const array = [{date:'01/01/2017',value1:200,value2:300,value3:400}, {date:'02/01/2017',value1:220,value2:330,value3:430},{date:'03/01/2017',value1:250,value2:330,value3:420}]

const obj = array.reduce((acc, o) => {
  acc[o.date] = o.value1;
  return acc;
}, {});

console.log(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...