生成键值为 javascript 的多维数组
Generate multi dimensional array with key value in javascript
我有一个来自 json 的数组,如下所示:
{"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;
}
但是生成的数组每个数组都有括号
[[{id:"1001",name:"Account1"}],
[{id:"1002",name:"Account2"}],
[{id:"1003",name:"Account3"}]]
如何删除内部数组的括号?
您在数组中添加了数组。
改变一下
i++;
matrix[i] = [];
matrix[i].push({"id":key, "name":list[key]});
至
matrix.push({"id":key, "name":list[key]});
您正在创建一个多维数组。
删除这个
i++;
matrix[i] = [];
然后直接这样做
matrix.push({"id":key, "name":list[key]});
您可以对 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);
我有一个来自 json 的数组,如下所示:
{"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;
}
但是生成的数组每个数组都有括号
[[{id:"1001",name:"Account1"}],
[{id:"1002",name:"Account2"}],
[{id:"1003",name:"Account3"}]]
如何删除内部数组的括号?
您在数组中添加了数组。
改变一下
i++;
matrix[i] = [];
matrix[i].push({"id":key, "name":list[key]});
至
matrix.push({"id":key, "name":list[key]});
您正在创建一个多维数组。
删除这个
i++;
matrix[i] = [];
然后直接这样做
matrix.push({"id":key, "name":list[key]});
您可以对 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);