我想将 3d 数组转换为 2d 数组
所以我有这样的 3d 数组
[
[
["creative fee (example)"],
[1000]
],
[
["Item 1...", "Item 2..."],
[600, 1000]
],
[
["Item 3...", "Item 4..."],
[400, 600]
]
]
并想像这样转换为二维数组(预期结果)
[
["creative fee (example)", 1000],
["Item 1...", 600],
["Item 2...", 1000],
["Item 3...", 400],
["Item 4...", 600]
]
这是我尝试过的方法,但开始时太难了
var carry = [
[
["creative fee (example)"],
[1000]
],
[
["Item 1...", "Item 2..."],
[600, 1000]
],
[
["Item 3...", "Item 4..."],
[400, 600]
]
],
result = []
for (var z = 0; z < carry.length; z++) {
for (var m = 0; m < carry[z].length; m++) {
for (var t = 0; t < carry[z][m].length; t++) {
// console.log(carry[z][m][t])
result[z+t] = []
result[z+t][m] = carry[z][m][t]
}
}
}
console.log(result)
无论如何先谢谢你
最佳答案
你可以拿一个Array#flatMap
方法和 map 对。
let data = [[["creative fee (example)"], [1000]], [["Item 1...", "Item 2..."], [600, 1000]], [["Item 3...", "Item 4..."], [400, 600]]],
result = data.flatMap(([l, r]) => l.map((v, i) => [v, r[i]]));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 如何将 3d 数组转换为 2d 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64786037/