递归
// 一个求数组中所有数字和的函数
function sum(arr) {
// 基线条件
if (arr.length <= 1) {
return arr[0] || 0;
} else {
return arr.shift() + sum(arr);
}
}
// 编写一个递归函数来计算一个数组包含的元素数
function getLength(arr) {
if (arr.length === 0) {
return 0
} else {
arr.pop();
return 1 + getLength(arr);
}
}
// 找出列表中最大的数字
function findMax(arr) {
let tempMax = arr[0];
function doFind(sourceArr) {
while (sourceArr.length) {
let poped = sourceArr.pop();
if (poped > tempMax) {
tempMax = poped
}
doFind(sourceArr);
}
}
doFind(arr);
return tempMax;
}