Javascript 使用其他数组中的值转换所有数组键

Javascript 使用其他数组中的值转换所有数组键,javascript,arrays,Javascript,Arrays,我有许多数组,是从csv文件生成的。在所有数组中,第一个数组对象是csv标题。见下例: 总之,第一个数组的值(即key=0和value=“report\u date”)应该替换所有后续数组的所有键 除了第一个数组之外,所有数组都要进行这样的转换 Array[7] "report_date": "2014-01-07" "description": "Cupidatat reprehenderit anim non irure aliqua irure veniam sint veniam ve

我有许多数组,是从csv文件生成的。在所有数组中,第一个数组对象是csv标题。见下例:

总之,第一个数组的值(即key=0和value=“report\u date”)应该替换所有后续数组的所有键

除了第一个数组之外,所有数组都要进行这样的转换

Array[7]
"report_date": "2014-01-07"
"description": "Cupidatat reprehenderit anim non irure aliqua irure veniam sint veniam velit aute elit."
"email": "helene.pennington@techtrix.biz"
"company": "Techtrix"
"status": "false"
"name/last": "Pennington"
"name/first": "Helene"

这应该可以做到:

var数据=[['id','name','value'],[0',foo',true],[2',bar',false],[3',baz',null],[4',foobar',未定义]];
var keys=data.shift();//获取包含键的第一行
var result=data.map(函数(行){
var current={};//创建新元素
对于(变量i=0;i控制台日志(结果)您可以将结果映射到一个对象,并删除第一个项目(其中只有键/键)

var数组=[[“报告日期”、“说明”、“电子邮件”、“公司”、“状态”、“姓名/姓氏”、“姓名/姓氏”]、[“2014-01-07”、“动物保护协会”和“圣维尼亚姆维尼亚姆维利特奥特精英”等。pennington@techtrix.biz“,“Techtrix”,“false”,“Pennington”,“Helene”],
result=array.map(函数(a,u,aa){
var对象={};
aa[0]。forEach(函数(键,i){
对象[键]=a[i];
});
返回对象;
}).切片(1);
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
解决问题的另一种方法如下:

var数据=[[“项目0”、“项目1”、“项目2”],
[“val_00”、“val_01”、“val_02”],
[“val_10”、“val_11”、“val_12”],
[“val_20”、“val_21”、“val_22”],
newData=data.slice(1)
.map(vs=>vs.reduce((p,c,i)=>i-1?对象.assign(p,{[data[0][i]]]:c})
:Object.assign({},{[data[0][i-1]]:p[data[0][i]]:c});

console.log(newData)并不真正关心。工作谢谢