我有 header field
数组和用户 info
数组,所以我需要重新排列新的一个多数组。我想设置 field
数组值到新键
。将 0 的 info
索引移动到“姓名”下,1 移动到“年龄”,2 移动到“性别”...
var customer = [];
var field = ["Name","Age","Gender"];
var info = [
["David","32","Male"],
["John","35","Male"],
["Enna","28","Female"],
["Watson","22","Female"]
];
info.map(function(each,i){
each.map(function(data,index){
customer[field[index]] = data;
});
});
console.log(customer);//[Name: "Watson", Age: "22", Gender: "Female"]
但是,我只是得到数组就像上面的 console.log
如何输出这样的,我不知道
// ["Name"] :["David","John","Enna","Watson"]
// ["Age"] :["32"],["35"],["28"],["22"]
// ["Gender"] :["Male"],["Male"],["Female"],["Female"]
最佳答案
这是您正在寻找的答案
var customer = {};
var field = ["Name","Age","Gender"];
var info = [
["David","32","Male"],
["John","35","Male"],
["Enna","28","Female"],
["Watson","22","Female"]
];
info.map(function(each,i){
each.map(function(data,index){
if (!customer[field[index]])customer[field[index]] = []
customer[field[index]].push(data);
});
});
console.log(customer);
//sample output
{ Name: [ 'David', 'John', 'Enna', 'Watson' ],
Age: [ '32', '35', '28', '22' ],
Gender: [ 'Male', 'Male', 'Female', 'Female' ] }
关于javascript - 无法将多维数组重组为一维数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570848/