当然,这是一个漫长的一周的结束,我的大脑被炒了,但是我的智慧结束了。为什么我在options.length
它是一个函数参数并且它是在一个数组参数(assortment
)中传递时,我得到了这个错误?
(我正在尝试提出一种递归解决方案来提供数组中各种字符的排列(允许重复))
var n = 10;
var assortment = ['a','b','c','d','e'];
console.log(permutations(n, assortment));
function permutations (num, options) {
var solutions = [];
var singleSet = [];
if (singleSet.length === num) {
solutions.push(singleSet);
return;
} else {
for (var i=0; i < options.length; i++) {
singleSet = singleSet.concat(permutations(options[i]));
}
}
return solutions;
}
答案 0 :(得分:3)
你只在这里传递一个参数:
singleSet = singleSet.concat(permutations(options[i]));