【发布时间】:2018-01-30 12:58:56
【问题描述】:
想知道如何获取这样的嵌套数组:
var arr = [
1,
[
2, 3, 4,
[
5, 6, 7, 8,
[ 9, 10 ],
[ 11, 12 ]
],
[ 13, 14 ]
]
]
并应用分组功能:
function group(arr) {
}
这样它将arr 转换为以下内容:
var output = [
[1, 2, 5, 13, 9, 11],
[1, 2, 5, 13, 9, 12],
[1, 2, 5, 13, 10, 11],
[1, 2, 5, 13, 10, 12]
[1, 3, 5, 13, 9, 11],
[1, 3, 5, 13, 9, 12],
[1, 3, 5, 13, 10, 11],
[1, 3, 5, 13, 10, 12],
[1, 3, 6, 13, 9, 11],
[1, 3, 6, 13, 9, 12],
[1, 3, 6, 13, 10, 11],
[1, 3, 6, 13, 10, 12],
[1, 3, 7, 13, 9, 11],
[1, 3, 7, 13, 9, 12],
[1, 3, 7, 13, 10, 11],
[1, 3, 7, 13, 10, 12],
...
[1, 4, 5, 13, 9, 11],
[1, 4, 5, 13, 9, 12],
[1, 4, 5, 13, 10, 11],
[1, 4, 5, 13, 10, 12],
...
]
基本上它会展平数组,或者您可以说获取所有子数组的每个组合,并将它们返回到一个平面列表中。在这个问题上打破了我的头。
【问题讨论】:
-
那么,这些组合究竟是如何确定的?
-
我不知道如何比示例输出更好地描述。
-
用所有子数组组合构建一个数组是我能做的最好的。
-
为什么你有一个嵌套结构,一个仅仅在级别上的深度数组就可以了。
-
@LancePollard 您的示例输出似乎错误。
13不应该在最后一列吗?
标签: javascript arrays combinations