从服务中我得到以下答复:
"rows": [
[
"stravi/aa",
"202001",
"59",
"51",
"2558.98",
"0.5358894453719162",
"1.9204668112983725",
"140",
"2.3466309084813943"
],
[
"stravi/ab",
"202003",
"3591",
"349",
"2246.09",
"0.41838214",
"3.57603358",
"50",
"4.82115474"
],
[
"stravi/ac",
"202007",
"3354",
"25",
"1975.76",
"0.74220667708",
"1.12321555541",
"11",
"0.9324532454"
]
]
我想将嵌套数组下面的数组拆分为9个数组-在1个数组中,每个数组中有1行,在2个数组中->第二行,等等。=>
["stravi/aa", "stravi/ab", "stravi/ac"]
[202001", "202003","202006"]
等
我正在尝试使用拆分,映射,过滤器...但是我还是一团糟...
答案 0 :(得分:1)
此代码段将完成工作;结果将是您要查找的数组的数组;可以使用reduce()
以更复杂的方式编写,但我更喜欢可读性强的版本:
let result = [];
rows.forEach( row => {
row.forEach( (item,index) => {
if(result[index]){
result[index].push(item)
}else{
result[index] = [item]
}
})
})
let rows = [
[
"stravi/aa",
"202001",
"59",
"51",
"2558.98",
"0.5358894453719162",
"1.9204668112983725",
"140",
"2.3466309084813943"
],
[
"stravi/ab",
"202003",
"3591",
"349",
"2246.09",
"0.41838214",
"3.57603358",
"50",
"4.82115474"
],
[
"stravi/ac",
"202007",
"3354",
"25",
"1975.76",
"0.74220667708",
"1.12321555541",
"11",
"0.9324532454"
]
];
let result = [];
rows.forEach( row => {
row.forEach( (item,index) => {
if(result[index]){
result[index].push(item)
}else{
result[index] = [item]
}
})
})
console.log(result)