为什么我得到这个'无法读取属性'未定义'的长度? (JavaScript的)

时间:2015-05-24 01:38:20

标签: javascript

当然,这是一个漫长的一周的结束,我的大脑被炒了,但是我的智慧结束了。为什么我在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;
}

1 个答案:

答案 0 :(得分:3)

你只在这里传递一个参数:

    singleSet = singleSet.concat(permutations(options[i]));