当前位置:网站首页>js数组递归使用
js数组递归使用
2022-08-02 13:02:00 【北京扛把子】
斐波那契数列:
1,1,2,3,5,8,13,21,34......
function fi(n){
if(n == 1 || n == 2) return 1;
return fi(n-1) + fi(n-2)
}
console.log(fi(3)) // 2
数组求和:
function sum(arr){
if(arr.length == 0){
return 0
}else if(arr.length == 1){
return arr[0]
}else{
return arr[0] + sum(arr.slice(1))
// slice(1) 截取数组从第一个开始到末尾的数据
}
}
console.log(sum([1,2,3])) // 6
数组扁平化:
const res = [];
const fn = arr => {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
fn(arr[i]);
} else {
res.push(arr[i]);
}
}
}
fn([1,[2,3]]);
边栏推荐
猜你喜欢
随机推荐
Markdown怎么加入emoji
Closures in JS
FreeRTOS创建任务--动态创建、静态创建
svg balloon rises explosion js special effect
String concatenation in SQL
企业用直播平台能实现什么
工厂方法模式
LeetCode_139_单词拆分
A powerful js pop-up alert plugin
LeetCode_377_组合总和Ⅳ
3 ways for OpenFeign to set headers
FreeRTOS实验--一个函数创建多个任务
RISC-V 指令格式和6种基本整数指令
不错的射击类js小游戏源码
Intouch System Platform IDE-1
鲁大师7月新机性能/流畅榜:性能跑分突破123万!
Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。
FreeRTOS--优先级实验
FreeRTOS experiment--one function creates multiple tasks
鲁大师7月新机性能/流畅榜:骁龙8+正面对决天玑9000+,性能跑分突破123万!