我有这个
[
{"2015":11259750.05},
{"2016":14129456.9}
]
我希望将其转换为
[
[2015,11259750.05],
[2016,14129456.9]
]
有没有使用javascript的功能我们可以做到这一点。
只是得出结论我也有一个标题,我想包含上面的结果,
[
{"label":"SecuredYear","type":"string"},
{"label":"ValueInDhs","type":"number"}
]
以上它应该看起来像`
[[
{"label":"SecuredYear","type":"string"},
{"label":"ValueInDhs","type":"number"}
], [2015,11259750.05],[2016,14129456.9]
]`
感谢
答案 0 :(得分:4)
使用Array#map
方法和Object.keys
方法生成数组,然后在开始时使用Array#unshift
方法添加原始数组。
var data = [{
"2015": 11259750.05
}, {
"2016": 14129456.9
}];
// iterate over the array to generate new array
var res = data.map(function(v) {
// get the property name from object
var k = Object.keys(v)[0];
// generate element of the array
return [k, v[k]];
// if you want to convert property name to number then
// return [+k, v[k]];
});
// add the original array at beginning
res.unshift(data);
console.log(res);

答案 1 :(得分:0)
您可以循环数组,然后提取每个对象键Object.keys(obj)[0]
及其值obj[key]
,如下所示。
使用parseint()将字符串数据(在您的情况下为对象键)转换为整数
var data = [{
"2015": 11259750.05
}, {
"2016": 14129456.9
}];
var newData = [];
data.forEach(function(obj,index){
var key= Object.keys(obj)[0];
newData.push([parseInt(key,10),obj[key]]);
});
console.log(newData);

答案 2 :(得分:0)
var data =[{"2015":11259750.05},{"2016":14129456.9}]
var res=[];
data.map(function(a){
Object.keys(a).forEach(function(b){
res.push([parseInt(b),a[b]])
})
})
console.log(res)

答案 3 :(得分:0)
你可以迭代给定的数组,从关键字形成对象,用数据创建一个新数组,然后将标题取消移动到结果。
var header = [{ label: "SecuredYear", type: "string" }, { label: "ValueInDhs", type: "number" }],
data = [{ "2015": 11259750.05 }, { "2016": 14129456.9 }],
result = data.map(function (o) {
var k = Object.keys(o)[0];
return [+k, o[k]];
});
result.unshift(header);
console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 4 :(得分:0)
尝试按照您的预期运作
var jsonObj = [
{"2015":11259750.05},
{"2016":14129456.9}
];
var newArr = [];
for (var i in jsonObj) {
var objKeys = Object.keys(jsonObj[i]);
newArr.push(Object.keys(jsonObj[i]));
newArr[i].push(jsonObj[i][objKeys[0]]);
}
console.log(newArr);