每当我执行这个片段时,return之前的console.log会返回一个数组,该数组包含20次值为23的元素。
然而console.log(Check(users, 0, 20));只返回'undefined'。
我做错了什么?
我做错了什么?
var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23];
console.log(Check(users, 0, 20));
function Check(ids, counter, limit){
ids.push(23);
// Recursion
if (counter+1 < limit){
Check(ids, counter+1, limit);
}
else {
console.log(ids);
return ids;
}
}
if
代码块中没有return
语句意味着返回值为undefined
。如果您在函数末尾放置一个return
语句并根据if
语句设置要返回的值,则可能更容易进行维护。 - Ian