当前位置: 首页 > news >正文

做网站需要解析吗苏州seo服务热线

做网站需要解析吗,苏州seo服务热线,武汉装修网站建设,网站首页做30个关键词概览 在 JavaScript 中,递归是一种编程技术,指的是函数直接或间接调用自身的过程。 递归通常用于解决可以分解为相同子问题的问题。通过不断地将问题分解成更小的、相似的子问题,直到达到某种基本情况(不再需要进一步递归的简单情…

概览

在 JavaScript 中,递归是一种编程技术,指的是函数直接或间接调用自身的过程。
递归通常用于解决可以分解为相同子问题的问题。通过不断地将问题分解成更小的、相似的子问题,直到达到某种基本情况(不再需要进一步递归的简单情况)。

递归一般要满足以下两个关键条件:

  1. 存在基本情况(终止条件):必须有某种简单的情况,在这种情况下递归不再继续进行,避免无限递归导致程序崩溃。
  2. 能够不断将问题规模缩小:通过递归调用自身,要能逐步将问题转化为更小的、相似的子问题,直到最终达到基本情况。

一. 常见应用

  1. 递归计算阶乘
function factorial(n) {if (n === 0 || n === 1) {return 1;} else {return n * factorial(n - 1);}
}

当递归终止后,从内到外依次执行。

  1. 一维数组转成树形结构
const arr = [{id: 4, pid: 3},{id: 'aa', pid: 'a'},{id: 1, pid: null},{id: 3, pid: 2},{id: 'a', pid: 'a0'},{id: 2, pid: 1},{id: 'a0', pid: null}
];function buildTreeData(arr,parentId = null) {const result = [];const rootFilterArray = arr.filter(item => item.pid === parentId);debugger;if(rootFilterArray.length > 0 ) {rootFilterArray.forEach(subitem => {debugger;const children = buildTreeData(arr,subitem.id);if(children.length > 0 ) {subitem.children = children}result.push(subitem)});}return result
}const resData = buildTreeData(arr);
console.log(resData,'resData')
  1. 查找树形结构子项
const checkTestData = [{"id": 1,"pid": null,"children": [{"id": 2,"pid": 1,"children": [{"id": 3,"pid": 2,"children": [{"id": 4,"pid": 3,"children": []}]}]}]},{"id": "a0","pid": null,"children": [{"id": "a","pid": "a0","children": [{"id": "aa","pid": "a","children": []}]}]}
]function getItemById(arr,id) {for(let item of arr) {debugger;if(item.id === id) {return item} else if(item.children) {const data = getItemById(item.children,id);if(data) {return data}}}
}const resDataItem = getItemById(checkTestData,3);
console.log(resDataItem,'resDataItem')

二. 总结

关键点梳理:

  1. 递归终止条件确定: 即没有调用自身的函数。
  2. 递归终止后结果的获取:有的时候直接返回最终的递归结果,有的时候拿到每次递归的结果之后由内至外依次进行逻辑处理。
http://www.zhongyajixie.com/news/17837.html

相关文章:

  • 买了个域名 如何自己做网站关键词工具软件
  • wordpress 模版 婚礼东莞seo顾问
  • web网站设计要怎么做竞价账户托管公司哪家好
  • 汉高建设公司网站semen
  • 长沙seo优化首选合肥seo推广培训班
  • 成都响应式网站杭州网站制作排名
  • 做一个中英文双语网站建设多少钱什么叫做关键词
  • 沈阳建设局网站首页个人怎么做网站
  • 做个网站页面多钱武汉网络推广seo
  • 教做美食的网站化工seo顾问
  • 找人做黑彩网站靠谱么软文写作要求
  • 网站建设企业资质百度长尾关键词挖掘工具
  • 乌鲁木齐做网站哪家好推广软文代发
  • 做h5的网站页面设计人民日报新闻消息
  • 搭建一个企业网站打开百度搜索引擎
  • 手机在网上怎么创建自己的网站电脑优化软件推荐
  • 用flash做游戏下载网站宁波网站推广大全
  • 南通水情最新信息东莞快速优化排名
  • 网站建站推荐广州最新疫情情况
  • 建设网站前端seo工具在线访问
  • 中铁建设集团门户网登安卓aso优化
  • 海兴县做网站价格阿里云建站
  • 网站建设计划排名优化网站seo排名
  • 如何做外贸独立网站百度老年搜索
  • 鄂州网站制作西安seo外包平台
  • wordpress布置网站教程职业技能培训班
  • 导购类网站怎么做培训机构哪家好
  • 广告投放的理解seo查询工具
  • 郑州教育培训机构网站建设邳州网站开发
  • windows搭建网站投诉百度最有效的电话