- Recursion Function
- .找规律
- .找出口
- [] 输入一个小于10的数字,求其阶层n!
-
function fn(n) {
// if (n == 0) {
// return 1;
// } else {
// return n * fn(n - 1);
// }
return n == 0 ? 1 : n * fn(n - 1);
}
- [] 输入一个小于10的数字,求其斐波那契数列Fibonacci
sequence:f(n)=f(n-1)+f(n-2); n≥2; f(0)=1; f(1)=1;
-
function fn(n) {
if (n == 0 || n == 1) {
return 1;
} else {
return fn(n - 1) + fn(n - 2);
}
}
- [] 数组扁平化 flat()- 将2维数组或多维数组都处理为1维数组
- 可以封装在对象原型函数prototype上
-
创建空数组
遍历每一个数据项,如果也是数组,就继续深入遍历
如果不是数组,是一个普通数据,就添加到空数组
返回创建的数组,实现数组扁平化
-
Array.prototype.flat = function () {
let flatArr = []
for (let item of this) {
if (Array.isArray(item)) {
flatArr = flatArr.concat(item.flatArr())
} else {
flatArr.push(item)
}
}
return flatArr;
}
- [] 数组去重 - unique()