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]))