JS中二维数组的怎么每个拿出一项来呢?

let list = [
["预付款项", "支付现金", "长期借款"],
[755340403, 17085162670, 3536364338],
[1204418576, 8658473101, 3444301912],
]
let header = ['公司', '2020-12-31', '2021-06-30']

怎么把list和header两个数组是实现TableData这个效果呢

let TableData = [
{'公司':'预付款项', '2020-12-31': 755340403, '2021-06-30': 1204418576},
{'公司':'支付现金', '2020-12-31': 17085162670, '2021-06-30': 8658473101},
{'公司':'长期借款', '2020-12-31': 3536364338, '2021-06-30': 3444301912},
]

按照你的要求编写的程序如下

let list = [

["预付款项", "支付现金", "长期借款"],

[755340403, 17085162670, 3536364338],

[1204418576, 8658473101, 3444301912],

]

let header = ['公司', '2020-12-31', '2021-06-30']

let TableData =[]

for(let i=0;i<list.length;i++){

 let temp={}

 for(let j=0;j<list[i].length;j++){

  temp[header[j]]=list[j][i]

 }

 TableData.push(temp)

}

document.write(JSON.stringify(TableData))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-13
let list = [
["预付款项", "支付现金", "长期借款"],
[755340403, 17085162670, 3536364338],
[1204418576, 8658473101, 3444301912],
];
let header = ['公司', '2020-12-31', '2021-06-30'];
let TableData = [];
list[0].forEach(function(e,i){
TableData[i]={};
header.forEach(function(k,j){
TableData[i][k]=list[j][i];
});
});
console.log(TableData);
第2个回答  2021-10-14

代码:

let list = [

["预付款项", "支付现金", "长期借款"],

[755340403, 17085162670, 3536364338],

[1204418576, 8658473101, 3444301912],

];

let header = ['公司', '2020-12-31', '2021-06-30'];

let TableData = [];

for(let i = 0; i < list[0].length; i++)

{

TableData[i] = {};

for(let j = 0; j < header.length; j++)

TableData[i][header[j]] = list[j][i];

}

console.log(TableData);

运行结果:

第3个回答  2021-10-13
两重循环,新建一个数组,吧header里的数据作为key,list里的作为value,拼一起就行了
相似回答