【发布时间】:2018-08-05 17:36:06
【问题描述】:
如果我有一个给定的数字数组,例如:
[1, 2, 7, 1, 9]
如何递归创建这些数字的所有可能组合的数组,例如:
[12719, 12791, 12971, 12179, etc...]
我想通过以下方式完成此操作:
const producePossibleNumbers = (digits) => {
return digits.map((d, index) => {
const remainingDigits = digits.filter((x, i) => i !== index)
if (remainingDigits.length === 1) {
return d + remainingDigits[0]
} else {
producePossibleNumbers(remainingDigits)
}
})
}
显然这是完整/非功能性代码...需要快速开始。
【问题讨论】:
-
这是一个快速的开始......搜索具有大量结果的数组排列stackoverflow.com/search?q=%5Bjavascript%5D+array+permutations
标签: javascript arrays algorithm recursion ecmascript-6