[需要一些帮助来整理React Chart.js的数据,需要将数组分割的帮助

问题描述 投票:0回答:1

我似乎无法为React-Chart.js正确安排我的数据,目前我的数据全部集中在一个数组中:

[[Array(9)], [Array(9)],[Array(9)], [Array(9)]]

编辑:4个数组中的每个数组在其自己的数组中都有9个[键,值]对:

 (9) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
 (9) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
 (9) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
 (9) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]

将来我希望能够添加更多的数组。

我想使用每个数组作为它自己的系列,并使用另一个来源的名称:

 {
    label: props.name[0],
    data: [
      aminos[0][0],
      aminos[0][1],
      aminos[0][2],
      aminos[0][3],
      aminos[0][4],
      aminos[0][5],
      aminos[0][6]
      etc...
    ]
  },
 {
    label: props.name[1],
    data: [
      aminos[1][0],
      aminos[1][1],
      aminos[1][2],
      aminos[1][3],
      aminos[1][4],
      aminos[1][5],
      aminos[1][6],
      etc...
    ]
  },
...

希望有意义,在此先感谢!

javascript arrays reactjs sorting chart.js2
1个回答
1
投票

下面的代码片段应该会有所帮助,我不确定您的源数组的结构,因此对此进行了概括

//sample data
var recordsArray = [
  [
    {"label1":"value1.1","label3":"value3.1"},
    {"label2":"value2.1"}
  ],
  [
    {"label1":"value1.2"},
    {"label2":"value2.2"}
  ]
]

//result object
lblGroupedRecords = {}

//flattens the nested array
flattenedRecords = recordsArray.flat()

flattenedRecords.forEach((item) => { 
  //each array item can have multiple keys that might have values that needs grouping
  Object.keys(item).forEach(function(key) {
    (lblGroupedRecords[key] = lblGroupedRecords[key] || []).push(item[key]);
  });
})

console.log(lblGroupedRecords)
© www.soinside.com 2019 - 2024. All rights reserved.