为什么“返回真”在这里不起作用?相反,该函数返回undefined ...

var containsDuplicate = function(nums) {
    let newArray = nums;
    let p = newArray.pop();
    if (newArray.includes(p)) {
        return true;
    }
    else if (newArray) {
        containsDuplicate(newArray);
    }
    else {
        return false;
    }
};


编辑:

我用这样的东西调用函数:

console.log(containsDuplicate([1,2,3,9,9,0]))

最佳答案

您在递归函数之前缺少return语句。

var containsDuplicate = function(nums) {
    let newArray = nums;
    let p = newArray.pop();
    if (newArray.includes(p)) {
        return true;
    }
    else if (newArray) {
        return containsDuplicate(newArray);
    }
    else {
        return false;
    }
};

10-05 20:37
查看更多