javascript - 无法将多维数组重组为一维数组吗?

标签 javascript arrays multidimensional-array

我有 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/

相关文章:

javascript - jQuery 鼠标悬停时放大图像 map

c++ - 为什么我必须初始化一个数组?

python - 有没有办法轻松地将 2 个索引之间的所有元素放入 Python 中的嵌套列表中?

arrays - 逐行填充多维数组

javascript - 将多维数组的 php 数组转换为 javascript 数组

javascript - 触发 CSS :hover with javascript by scrolling

javascript - 如何将容器定位到元素顶部?

javascript - 有没有办法将项目传递给 VueJS 中另一个组件的对话框?

java - 在另一个类中使用 JSONArray?

ruby - 嵌套数组删除 nil