这个JS函数会被认为是递归的吗?

时间:2016-03-30 16:58:43

标签: javascript arrays loops recursion

不确定此函数是否可以被认为是递归的。

var capitalizeWords = function(input) {
    var results = [];

    if(typeof input === 'string'){
            return input.toUpperCase();
    }else{
        input.forEach(function(word){
            results = results.concat(capitalizeWords(word));    
        });
    }
    return results;
};

//大写数组中的所有单词

2 个答案:

答案 0 :(得分:2)

是的,是递归函数。

results = results.concat(capitalizeWords(word));

答案 1 :(得分:2)

是的,但它不是直接递归而是间接递归。

递归并不是在实际函数中发生的,而是在一个匿名的高阶函数中。