var test=[1,2,3,4,5,6,7,8,9,10,11,12];
test=checkData(test);
console.log(test);
function checkData(data){
//最多十个
if(data.length>10){
//保留后十个
data.shift();
if(data.length==10){
alert(data)
return data;
}else{
checkData(data);
};
}else{
return data;
}
}实际为什么返回是undefined?
1 回答
woshiajuana
TA贡献211条经验 获得超152个赞
var test=[1,2,3,4,5,6,7,8,9,10,11,12];
test=checkData(test);
console.log(test);
function checkData(data){
//最多十个
if(data.length>10){
//保留后十个
data.shift();
if(data.length==10){
alert(data)
console.log(data.length)
return data.length;
}else{
checkData(data);
};
}else{
return data;
}
return data;
}
少了个return,你这种进入那个else{checkData(data);};递归写的return返回后就是一个else{ data结果},所以进入递归就表示你少了个返回,有点难解释
添加回答
举报
0/150
提交
取消