当然,这已经是一个漫长的一周的结束了,我的大脑被炸了,但是我为此感到无所适从。为什么当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;
}
最佳答案
您仅在此处传递一个参数:
singleSet = singleSet.concat(permutations(options[i]));
关于javascript - 为什么我得到这个“无法读取未定义的属性”长度”? (JavaScript),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30419263/