ES6—31:递归基础

简介: ES6—31:递归基础

递归的定义

函数的内部,可以调用其本身的函数。

利用递归求阶乘

image.png

利用递归求斐波那契数列

image.png

使用递归遍历数据

<script>
// 利用递归遍历数据,要求输入id号,返回对象值
var data = [{
    id: 1,
    name: '家电',
    goods: [{
        id: 11,
        gname: '冰箱'
    }, {
        id: 12,
        gname: '洗衣机'
    }]
}, {
    id: 2,
    name: '服饰'
}];
function getId(data,id) {
    data.forEach(function(values) {
        if(values.id == id) {
            console.log(values);
        } else if(values.goods && values.goods.length > 0) {
            getId(values.goods,id);
        };
    })
}
console.log(getId(data,12));
console.log(getId(data,1));
console.log(getId(data,11));
</script>


image.png

相关文章
|
7月前
|
前端开发
简单学习Es6中的this指向
简单学习Es6中的this指向
50 0
|
2月前
|
JavaScript 前端开发 编译器
ES6 代码转成 ES5 代码的实现思路是什么
ES6 代码转成 ES5 代码的实现思路主要是通过编译器将新的语法结构和特性转换为旧版本的 JavaScript 代码,以确保在不支持 ES6 的环境中可以正常运行。常用的工具如 Babel 可以自动完成这一过程。
|
4月前
|
JavaScript 前端开发
利用ES6中的...扩展运算符来合并数组
本文介绍了使用ES6的新特性简化JavaScript编程的多种方法。其中包括使用扩展运算符`...`优雅地合并数组,解构赋值快速提取数组和对象值,`for...of`循环及箭头函数提升数组遍历效率,`find`方法简化数组搜索,`+`号与短路运算符优化数据类型转换及默认值设置,以及模板字符串和扩展运算符增强的对象合并技巧,这些方法让代码更加简洁高效。
39 0
|
7月前
|
索引
ES6学习之数组
ES6学习之数组
|
网络架构
ES6学习(五)—数组的扩展
ES6学习(五)—数组的扩展
|
网络架构
ES6学习(六)—函数的扩展
ES6学习(六)—函数的扩展
|
网络架构
es6扩展运算符的学习使用
es6扩展运算符的学习使用
51 0
|
前端开发 JavaScript
ES6 对象合并
ES6 对象合并
190 0
|
前端开发