我有一个来自json的数组:
String day = "26";
String month = "03";
String year = "1989";
我需要将其转换为键值格式:
{"1001":"Account1","1002":"Account2","1003":"Account3"}
要做到这一点,我写了这个函数:
[{id:"1001",name:"Account1"},
{id:"1002",name:"Account2"},
{id:"1003",name:"Account3"}]
但生成的数组包含每个数组的括号
function arrayToMultiArray(list) {
var matrix = [], i;
i = -1;
for (var key in list) {
i++;
matrix[i] = [];
matrix[i].push({"id":key, "name":list[key]});
}
return matrix;
}
如何删除内部数组的括号?
答案 0 :(得分:2)
您在数组中添加了数组。
只需更改
i++;
matrix[i] = [];
matrix[i].push({"id":key, "name":list[key]});
到
matrix.push({"id":key, "name":list[key]});
答案 1 :(得分:1)
您正在创建一个多维数组。
删除此
i++;
matrix[i] = [];
直接执行此操作
matrix.push({"id":key, "name":list[key]});
答案 2 :(得分:1)
您可以对Object.keys
和Array.prototype.map
var obj = {"1001":"Account1","1002":"Account2","1003":"Account3"};
var arr = Object.keys(obj).map(function(key) {
return { id : key, name : obj[key] }
});
console.log(arr);