4 回答
TA贡献1866条经验 获得超5个赞
您所需的数据集看起来像一个对象数组,其中大括号内的每个数据都是对象。因此,如果你想在 JS 中放入多维数组,请在变量中创建每个对象,向其中添加数据,然后将其推送到数组中。喜欢
let arr = [];
let obj1 = {}; //add data to this object
arr.push(obj1);
let obj2 = {}; //add data to this object
arr.push(obj2);
.
.
.
let objn = {}; //add data to this object
arr.push(objn)
TA贡献1785条经验 获得超4个赞
不用担心,这个架构有点混乱,总是难以编写和阅读。
你应该使用类似的东西:
var d = {
datasets: [
{
label: 'Manajemen Informatika',
data: [100, 105, 203, 160, 200],
backgroundColor: 'rgba(189, 99, 132, 0.2)',
borderColor: 'rgba(189, 99, 132, 1)',
borderWidth: 1
}
]
}
d.datasets.push(
{
label: 'Sistem Informasi',
data: [90, 120, 225, 185, 200],
backgroundColor: 'rgba(72, 189, 122, 0.2)',
borderColor: 'rgba(72, 189, 122, 1)',
borderWidth: 1
}
)
// Read a particular value
console.log(d.datasets[1].label)
// Whole object
console.log(d)
我们不应该自己手动编写一个对象,但Chart.js就是这样制作的,强制将每个配置都嵌套在对象中,并且使用插件变得最糟糕,你还必须在那里传递函数,这会使脚本变得混乱。
旁注,出于不同的原因,建议完全避免使用 Chart.js 。
TA贡献1829条经验 获得超13个赞
首先,您需要先给出输入的定义。您编写的结果只是一个对象数组。多维数组应该像这样:
const multidimensionalArray = [
[1,2,3,4],
[12,13,15,16],
[17,2,31,]
]
对于你的问题,我假设你从后端接收数据:
const responseData = [{data1, data2, data3, data4}]
const result = responseData.map(item => {
/// Do some manipulate data here
const stypingObj = item.type ? styling1 : styling2
const valueArray = item.valueData // You can manipulate value also
return chartData = { ...item. data: valueArray, ...stylingObj }
})
然后它返回您的预期结果。
TA贡献1859条经验 获得超6个赞
请尝试此代码,如何在 javascript 中推送多维数组
var PushToArray = { };
PushToArray.productID = productID;
PushToArray.itemColorTitle = itemProductTitle;
PushToArray.itemColorPath = itemProduct;
cookie_value_add.push(PushToArray);
我希望这段代码对您有用。
谢谢。
添加回答
举报