Javascript 将对象数组的值导出到数组的数组
我有一个对象数组,比如Javascript 将对象数组的值导出到数组的数组,javascript,jquery,Javascript,Jquery,我有一个对象数组,比如 var dataSet1 = { 1: { AnnualFirmEnergy: "91.2335550", CostOfEnergy: "183.835765", CostPerYear: "16771990.38", Footprint: "182.3077770", InstalledCapacity: "31.320802", Penstock: "5000.00
var dataSet1 = {
1: {
AnnualFirmEnergy: "91.2335550",
CostOfEnergy: "183.835765",
CostPerYear: "16771990.38",
Footprint: "182.3077770",
InstalledCapacity: "31.320802",
Penstock: "5000.000000"
},
2: {
AnnualFirmEnergy: "91.2335550",
CostOfEnergy: "183.835765",
CostPerYear: "16771990.38",
Footprint: "182.3077770",
InstalledCapacity: "31.320802",
Penstock: "5000.000000"
},
3: {
AnnualFirmEnergy: "91.2335550",
CostOfEnergy: "183.835765",
CostPerYear: "16771990.38",
Footprint: "182.3077770",
InstalledCapacity: "31.320802",
Penstock: "5000.000000"
}
}
您能告诉我如何将它的值
转换/解析为类似数组的数组吗
var dataSet1 = [
[ "91.2335550", "183.835765", "1677190.38", "182.3077770", "31.320802","50"],
[ "91.2335550", "183.835765", "1677190.38", "182.3077770", "31.320802","50"],
[ "91.2335550", "183.835765", "1677190.38", "182.3077770", "31.320802","50"],
....
];
您可以在jQuery中使用和
var数据集1={
1: {
年费能源:“91.2335550”,
能源成本:“183.835765”,
每年成本:“16771990.38”,
足迹:“182.307770”,
安装容量:“31.320802”,
压力管道:“5000.000000”
},
2: {
年费能源:“91.2335550”,
能源成本:“183.835765”,
每年成本:“16771990.38”,
足迹:“182.307770”,
安装容量:“31.320802”,
压力管道:“5000.000000”
},
3: {
年费能源:“91.2335550”,
能源成本:“183.835765”,
每年成本:“16771990.38”,
足迹:“182.307770”,
安装容量:“31.320802”,
压力管道:“5000.000000”
}
};
var-arr=[];
$。每个(数据集1,函数(i,v){
arr.push($.map(v,函数(v1){
返回v1;
}));
});
document.write(''+JSON.stringify(arr,null,3)+'')代码>
jQuery没有问题,但我将提供一种原生JavaScript方式:
dataSet1
是一个对象,而不是数组。由于编号的值1
,2
,3
,它看起来像一个数组,但它的对象是大括号{}
您可以使用object.keys
访问对象的每个属性,将对象值映射到数组将是您的第一步:
var arrayOfArrays = arrayOfObjects.map(function (obj) {
return Object.keys(obj).map(function (key) {
return obj[key]
})
})
这对您来说可能是一个有用的结果,因为您维护了键值,但要获得答案,您只需再次执行map
和keys+map
var arrayOfArrays =
Object.keys(dataSet1).map(key => dataSet1[key])
.map(obj => Object.keys(obj).map(key => obj[key]))
现代浏览器现在具有箭头功能,因此整个内容可以写成:
您的第一个示例实际上是对象的对象。你应该查看对象。键函数你确定数据集1
是一个数组吗?嗨,阿伦,谢谢你的摆弄,但你所说的是什么意思?你确定数据集1是一个数组吗?
你的起始数据不是数组。
var arrayOfArrays =
Object.keys(dataSet1).map(key => dataSet1[key])
.map(obj => Object.keys(obj).map(key => obj[key]))