Javascript 将数据转换为数组的数组
我目前使用PHP(Laravel)以应用程序后端的格式返回数据: 然后,我想在前端使用JavaScript(Vue)将这些数据绘制成图表,这些数据是特定公司每月的平均订单值。但要使其正常工作,需要采用以下格式:Javascript 将数据转换为数组的数组,javascript,arrays,object,Javascript,Arrays,Object,我目前使用PHP(Laravel)以应用程序后端的格式返回数据: 然后,我想在前端使用JavaScript(Vue)将这些数据绘制成图表,这些数据是特定公司每月的平均订单值。但要使其正常工作,需要采用以下格式: new_data [ ["Jan", 120], ["Feb", 283.5], ["Mar", 10], ["Apr", 233.92], ["May", 327.78], ["Jun", 190.74], ["Jul", 10], ["Aug", 10
new_data [
["Jan", 120],
["Feb", 283.5],
["Mar", 10],
["Apr", 233.92],
["May", 327.78],
["Jun", 190.74],
["Jul", 10],
["Aug", 10],
["Sep", 10],
["Oct", 10],
["Nov", 10],
["Dec", 10]
]
我已经看到了如何在堆栈溢出(即)上执行类似操作,但没有一个适合这个确切的示例。到并展平到:
const data=[{“一月”:120,“二月”:283.5,“三月”:10,“四月”:233.92,“五月”:327.78,“六月”:190.74,“七月”:10,“八月”:10,“九月”:10,“十月”:10,“十一月”:10,“十二月”:10}]
const result=[].concat(…data.map(Object.entries))
console.log(结果)
到以下位置并按以下方式展平:
const data=[{“一月”:120,“二月”:283.5,“三月”:10,“四月”:233.92,“五月”:327.78,“六月”:190.74,“七月”:10,“八月”:10,“九月”:10,“十月”:10,“十一月”:10,“十二月”:10}]
const result=[].concat(…data.map(Object.entries))
console.log(result)
由于您从后端获得的是一个对象而不是一个数组,因此除了循环对象的属性并将值推送到新数组中之外,我找不到其他解决方案。
看起来是这样的:
var newData = [];
Object.keys(data[0]).forEach(function(month) {
newData.push[month, data[0][month]];
});
由于您从后端获得的是一个对象而不是一个数组,因此除了循环对象的属性并将值推送到一个新数组中之外,我找不到其他解决方案。 看起来是这样的:
var newData = [];
Object.keys(data[0]).forEach(function(month) {
newData.push[month, data[0][month]];
});
实现这一点的经典方法是:
var data = [
{
"Jan": 120,
"Feb": 283.5,
"Mar": 10,
"Apr": 233.92,
"May": 327.78,
"Jun": 190.74,
"Jul": 10,
"Aug": 10,
"Sep": 10,
"Oct": 10,
"Nov": 10,
"Dec": 10
}
];
var dataArry = new Array();
for(month in data[0]){
dataArry[dataArry.length] = [month,data[0][month]];
}
在上面的代码中,
dataArry
以数组
格式保存对象数据。实现这一点的经典方法是:
var data = [
{
"Jan": 120,
"Feb": 283.5,
"Mar": 10,
"Apr": 233.92,
"May": 327.78,
"Jun": 190.74,
"Jul": 10,
"Aug": 10,
"Sep": 10,
"Oct": 10,
"Nov": 10,
"Dec": 10
}
];
var dataArry = new Array();
for(month in data[0]){
dataArry[dataArry.length] = [month,data[0][month]];
}
在上面的代码中,
dataArry
以Array
格式保存对象数据。他不是在要求扁平结构吗?所以我想data.map(Object.entries)
可以吗?如果你问我的话,这仍然是一个足够有效的答案,所以我投了更高的票。然而,在这个问题中,结果是平坦的,因为它不包含一个包裹项目的子数组。哦,对了,我错过了。所以他实际上是在要求一个扁平的结构。他不是在要求一个扁平的结构吗?所以我想data.map(Object.entries)
可以吗?如果你问我的话,这仍然是一个足够有效的答案,所以我投了更高的票。然而,在这个问题中,结果是平坦的,因为它不包含一个包裹项目的子数组。哦,对了,我错过了。所以他实际上是在要求一个扁平的结构。我猜Object.keys(数据[0])
代替Object.keys(数据)
。但不确定,在这个案子上你是对的。更新。Ori Drori的解决方案更优雅一些,我想Object.keys(数据[0])
比Object.keys(数据)
更有效。但不确定,在这个案子上你是对的。更新。Ori Drori的解决方案更优雅一点