result undefined-大牛帮忙看看为啥我的js递归执行结果为undefined

问题描述

大牛帮忙看看为啥我的js递归执行结果为undefined

function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
result.push(arr[0]);
arr.splice(0,1);
}else{
return result;
}
}

var aa = a([1,2,3,4,5]);
console.log("result ==",aa);

解决方案

你这没有递归,递归需要自己调用自己,你把数组顶部元素移除后没有再调用自身接着处理移除的数组。

 function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
  result.push(arr[0]);
  arr.splice(0,1);
  a(arr,result);
}
return result;
}
var aa = a([1,2,3,4,5]);
console.log("result ==",aa);

或者

 function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
result.push(arr[0]);
arr.splice(0,1);
a(arr,result);
}else{
return result;
}
}
var aa=[]
a([1,2,3,4,5],aa);
console.log("result ==",aa);

解决方案二:

函数并非每个分支都有返回的结果,所以可能aa为空。

时间: 2024-11-01 11:31:19

result undefined-大牛帮忙看看为啥我的js递归执行结果为undefined的相关文章

extjs-Extjs Ext.ux.form.LovCombo 多选问题,求大牛帮忙啊!

问题描述 Extjs Ext.ux.form.LovCombo 多选问题,求大牛帮忙啊! 当选择的时候,离开焦点到空白的时候, 多选下拉框会把所有相同名字都显示出来, 这个问题怎么解决........ 附代码 this.billComboBox = new Ext.ux.form.LovCombo({ store : this.billStore, emptyText : '请选择', name : 'billName', allowBlank : false, mode : 'local',

c语言的一个问题,请大牛帮忙看看,感激不尽

问题描述 c语言的一个问题,请大牛帮忙看看,感激不尽 我写的一个小程序: #include #include #include void main(){ pid_t pid; int i; for(i=1; i<2; i++) { pid = fork(); if(pid == 0 || pid < 0) break; } //pid = fork(); if(pid == 0){ printf("this is child process! "); char *s; in

异常-maven创建项目报错,哪位大牛帮忙看一下。

问题描述 maven创建项目报错,哪位大牛帮忙看一下. 创建maven时候告诉我无法创建,提示我jar包版本有问题吧?公司刚用,我也是刚学,求指导,具体错误见图片! 解决方案 那个插件换个低一点的版本,仓库里找不到 解决方案二: maven环境没配置好,主要是检查你的配置环境.然后查看eclipse上是不是设置了引用maven仓库的jar包呢?

帮忙啊 大牛们-mysql求和显示在jsp页面中,很急,求大牛帮忙

问题描述 mysql求和显示在jsp页面中,很急,求大牛帮忙 如何将表格里的数据求和动态的显示在jsp页面中,最好使用ssh实现,,求具体代码 解决方案 sql语句写sum()啊 解决方案二: 从数据看取出来之类,在java里面遍历一下List,求和一下不就好了. 解决方案三: 没有看懂需求说明,到底要什么呢?sql语句?还是java中的调用方法,还是什么? 解决方案四: select count(*) from user 解决方案五: int value=select sum(要加起来的项)

stm32-在iar中编译STM32时出现SystemInit为定义的错误。我是初学者求大牛帮忙!!

问题描述 在iar中编译STM32时出现SystemInit为定义的错误.我是初学者求大牛帮忙!! 解决方案 还出现了这个错误

c语言大牛帮忙看看,想半天就是不知道怎么处理

问题描述 c语言大牛帮忙看看,想半天就是不知道怎么处理 TCHAR szLocalPath[MAX_PATH]; TCHAR szTempPath[MAX_PATH]; TCHAR szTempName[50]; GetModuleFileName(NULL,szLocalPath,sizeof(szLocalPath)); GetTempPath(MAX_PATH,szTempPath); GetFileTitle(szLocalPath,szTempName,50); wcscat(szTe

查询 文件读写-java程序字符串问题(求大牛帮忙)

问题描述 java程序字符串问题(求大牛帮忙) 一个文件夹中(可能包含多个文本文件或子文件夹),查询其中包含关键字(至少一个)的文本文件然后输出这个文本文件的路径和所包含的关键字.关键字也存放在一个文本文件当中.不知程序该怎么写(java菜鸟,求大牛帮忙).关键字不区分大小写,一般只有字母和ASCII码组成,要忽略空格.最后的结果也要输出在一个文本文件上 解决方案 这个的话 第一个就这么个思路了 1:写一个递归算法 遍历到当前文件夹下的所有子文件(包括文件夹) 如果是文本文件的话则调用查找关键字

filereader-java FileReader使用的时候不能正确的显示中文字符,希望大牛帮忙看看

问题描述 java FileReader使用的时候不能正确的显示中文字符,希望大牛帮忙看看 下面是我的源代码,我用了下面几种方式进行编辑,运行的结果都有乱码,我真是想不明白了,请大牛帮我看看. 第一种方式编译 E:java8>javac -encoding utf-8 TestFileReader.java 第二种方式编译 E:java8>javac -encoding gbk TestFileReader.java 第三种方式编译 E:java8>javac -encoding gb2

httpclient 异常 java-异常org.apache.http.ProtocolException: Invalid header 请各位大牛帮忙看看

问题描述 异常org.apache.http.ProtocolException: Invalid header 请各位大牛帮忙看看 Caused by: org.apache.http.ProtocolException: Invalid header: share memory not exist need create new share memory! at org.apache.http.impl.io.AbstractMessageParser.parseHeaders(Abstra