草庐IT

递归算法举例

全部标签

javascript - 递归查找数组中的元素

我有一个对象数组。数组中的每个对象都有一个id和一个item属性,该属性是一个包含其他对象的数组。我需要能够通过id在数组中找到一个元素。这是我到目前为止所做的示例,但递归函数始终返回未定义。递归多次调用函数后,如何退出函数并返回项目?$(function(){vartreeDataSource=[{id:1,Name:"Test1",items:[{id:2,Name:"Test2",items:[{id:3,Name:"Test3"}]}]}];vargetSubMenuItem=function(subMenuItems,id){if(subMenuItems&&subMenuI

javascript - 递归函数的返回值为 'undefined'

每当我执行此代码段时,返回前的console.log都会返回值23的20倍的数组。然而console.log(Check(users,0,20));仅返回“未定义”。我做错了什么?varusers=[23,23,23,23,23,23,23,23,23,23];console.log(Check(users,0,20));functionCheck(ids,counter,limit){ids.push(23);//Recursionif(counter+1 最佳答案 您忘记从进入递归的点返回结果。varusers=[23,23,2

javascript - 我如何递归地进行 JS-Beautify?

我在目录和子目录中有很多HTML文件。我可以通过命令行执行js-beautify命令,并希望将它递归地应用到所有这些文件。我试过了find.-name".html"-typef|js-beautify-randjs-beautify-r|find.-name".html"-typef但它不起作用。但是,如果我提供类似js-beautify-rmyfile.html或js-beautify-r*.html的东西,JS-beautify确实有效(如果是所有文件在目录中但不在子目录中)谁能告诉我应该如何传递这两个命令? 最佳答案 Howe

ChatGPT算法原理

ChatGPT是什么ChatGPT是一种基于AI的聊天机器人,它可以像人类一样与用户进行交流,帮助用户解决问题,或者与用户交谈、讨论。ChatGPT利用自然语言处理(NLP)技术,使用语义理解和自然语言生成来管理数据,以便与用户进行有意义的对话。ChatGPT原理是什么ChatGPT是一种基于GPT-3(GenerativePre-trainedTransformer-3)的对话机器人开发框架,它可以使用自然语言处理(NLP)技术来实现对话系统。GPT-3是一种深度学习技术,语言模型可以学习以往文本,从而能够根据以往的文本来预测下一个词。ChatGPT使用GPT-3来预测用户输入的下一个词,并

javascript - 如何在 JavaScript 中递归地构建菜单列表对象?

用一个数组['/social/swipes/women','/social/swipes/men','/upgrade/premium'];我想构建一个如下所示的map对象:{'social':{swipes:{women:null,men:null}},'upgrade':{premium:null}}constmenu=['/social/swipes/women','/social/likes/men','/upgrade/premium'];constmap={};constaddLabelToMap=(root,label)=>{if(!map[root])map[root]

javascript - 递归地 trim 对象键和值中的空格

如何递归地trimJavaScript对象中键和值中的空格?我遇到了一个问题,我试图“清理”用户提供的JSON字符串并将其发送到我的其他代码中以进行进一步处理。假设我们有一个用户提供的JSON字符串,其属性键和值的类型为“字符串”。但是,在这种情况下,问题在于键和值并不像预期的那样干净。说一个{“key_with_leading_n_trailing_spaces”:“my_value_with_leading_spaces”}。在这种情况下,它很容易导致您编写出色的JavaScript程序尝试使用此类数据(或者我们应该称之为脏数据?)的问题,因为当您的代码试图从该JSON对象中获取值

javascript - 递归 promise ?

我想迭代HTML5文件系统中的所有文件,并在迭代完成后启动一些事件。由于这是异步+promise,我很难理解它应该如何工作。我正在使用angularJS并创建了一个服务来封装html5文件系统的特定功能。这是递归函数:functionwalkDirectory(path){fileSystem.getFolderContents(path)//thisistheservicesanditreturnsapromisecontainingallfilesinthecurrentfolderordirectory.then(function(entries){for(vari=0;i理想情

javascript - Javascript 将哪种正则表达式算法用于正则表达式?

我正在阅读thisarticle今天介绍两种不同的正则表达式算法。根据thearticle旧的Unix工具,如ed、sed、grep、egrep、awk和lex,都在它们的正则表达式中使用所谓的ThompsonNFA算法...然而,较新的工具(如Java、Perl、PHP和Python)都对其正则表达式使用不同的算法,这些算法要慢得多。Thisarticle完全没有提及Javascript的正则表达式算法,(是的,我知道那里有各种JS引擎)但我想知道是否有人知道他们使用了哪些算法,以及是否应该将这些算法换成ThompsonNFA。 最佳答案

Javascript 回调函数和递归

这是一个脑筋急转弯的问题,因为代码按原样运行得非常好,它只是稍微刺激了我的审美。我正在转向StackOverflow,因为我自己的大脑现在正在让我失望。下面是一段代码,它使用GoogleMapsJSAPI查找地址并在map上放置标记。但是,有时初始查找会失败,所以我想用不同的地址重复该过程。geocoder.getLatLng(item.mapstring,function(point){if(!point){geocoder.getLatLng(item.backup_mapstring,function(point){if(!point)return;map.setCenter(p

javascript - Angularjs:理解递归指令

我在这里找到了一个很棒的树指令。原文:http://jsfiddle.net/n8dPm/我一直在尝试通过其他几个SO问题来理解它的功能,1,2.我不太明白渲染树指令的递归调用是如何工作的。主要是编译函数什么时候调用所有编译函数?$compile函数何时缓存在变量compiledContents中(这是链接函数?),何时追加?为什么它不总是追加?--compile:function(tElement,tAttr){varcontents=tElement.contents().remove();varcompiledContents;returnfunction(scope,iElem