【发布时间】:2019-03-13 03:01:09
【问题描述】:
为什么“返回真”在这里不起作用?相反,该函数返回 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]))
【问题讨论】:
-
如果要删除重复项,请查看此答案:stackoverflow.com/a/9229821/10768127。这是一个更简单的方法
-
...而内部的“containsDuplicate”不返回其值?
-
谢谢,但我知道如何删除重复项。以 Set 为例。我对这个奇怪的错误特别感兴趣。
-
你忘记返回递归调用
-
谢谢!确实是递归前的缺失返回……
标签: javascript function oop recursion