如何将对象数组转换为数组数组

时间:2013-08-03 09:10:34

标签: javascript

对象数组如下所示:

[
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000}
]

并且所需的JavaScript数组是:

[
    [160000, 64], [160000, 64], [160000, 64], [160000, 64],
    [160000, 64], [160000, 64], [160000, 64], [160000, 64]
]

我想将JSON对象数据转换为我提供的JavaScipt和JSON数据,上面给出了我想要的JavaScript数组。我想要一个解决这个问题的JavaScript方法

3 个答案:

答案 0 :(得分:2)

如果你正在使用这个确切的结构,你可以做这样的事情。其中inputData是第一个JSON结构,outputData将是输出的数据。

var outputData = [];

for(var i = 0; i < inputData.length; i++) {
    var input = inputData[i];

    outputData.push([input.Earning, input.Number]);
}

答案 1 :(得分:0)

迭代数组并构造一个新数组。大多数javascript库都有一个map函数,你只需要提供一个映射函数来实现这个目的。

答案 2 :(得分:0)

这种方式(仅适用于现代浏览器):

var a = [
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000},
    {"Number":64,"Earning":160000},{"Number":64,"Earning":160000}
];

var b = a.map(function(i) {  return [i.Earning,i.Number];  });   // New Array