假设你有一个数组 [1 2 3 4 5]
简单地将最后一个数字存储在某个地方,并再次将1-4输入函数中(结果为5-1234)
当输入的数组中只有一个数字时,将该数字作为单个数组成员返回。
当数组被返回时,将返回的数组附加到临时数字中,形成一个新数组。
这应该是4-123,然后是3-12,然后是2-1,所有这些都会反馈回来,结果为5-4-3-2-1
简化版:
var input_array = [1,2,3,4,5]
function rev(input) {
if (input.length == 1) { return input; }
if (input.length == 0) { return []; }
return [input[input.length-1]].concat(rev(input.splice(0, input.length-1)));
}
rev(input_array);
展开版本:
var input_array = [1,2,3,4,5]
function rev(input) {
if (input.length == 1) { return input; }
if (input.length == 0) { return []; }
var last = [input[input.length-1]];
var newarr = rev(input.splice(0, input.length-1));
var answer = last.concat(newarr);
return answer;
}
rev(input_array);
arguments
来作弊? - Matt Burland