javascript - 在打字稿中拆分嵌套数组
问题描述
从服务我得到以下回复:
"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"]
等等
我正在尝试通过使用拆分,映射,过滤器来实现它......但我还是一团糟......
解决方案
这个片段将完成这项工作;结果将是您要查找的数组数组;它可以用更复杂的方式编写,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)
推荐阅读
- apache-flink - 如果一项任务失败,是否会重新启动整个作业
- jquery - 你如何在jquery中为一组div增加一个类
- c# - 破坏随机字符串
- java - 如何在 Android 上的 /0 处创建目录?
- awk - 如何删除文件夹中多个文件的“0”行?
- android - Android Chip_如何以编程方式使芯片背景颜色透明?
- r - 具有 Kolmogorov-Smirnov 双样本、Cramer-von Mises 和 Kuiper 检验的 ECDF
- c++ - C++ 标识符“读取”冲突?
- python - Pandas 已安装但无法识别
- android - 在华为应用程序库中使用一个 Signal Cordova Plugin SDK 支持 Android 应用程序