【javascript函数表达式的特征以及递归的理解(附示例)】教程文章相关的互联网学习教程文章

为什么这个递归的javascript函数返回undefined?【代码】

在下面的递归函数中,我希望函数在结束时返回“到达”,而是返回undefined.当执行进入if块代码应该返回时,不是吗?感谢您对此的评论.function myFun(i){if(i===0){return ('arrived');}i = i - 1;myFun(i); }如果我更改代码如下,那么它将返回“到达”,但仍然不知道为什么上面没有返回“到达”.function myFun(i){if(i===0){return ('arrived');}i = i - 1;return myFun(i); }解决方法:第一个函数不返回值,因为所有代码路径都必须返回...

用于创建JSON对象的Javascript递归【代码】

需要一些关于如何正确递归地做这些建议的建议. 基本上我正在做的是输入一堆文本,然后将其作为JSON返回. 例如: 文本:q b name:rawr返回:["q","b",{"name": "rawr"} ]以下输入:q b name:rawr:awesome会返回(输出格式不重要):["q","b",{"name": {"rawr": "awesome"}} ]如何修改以下代码以允许以递归方式在对象中包含对象.var jsonify = function(input){var listItems = input, myArray = [], end = [], i, item;var items = lis...

javascript – 递归JSON.stringify实现【代码】

我试图在Javascript中学习递归,所以我想我会使用递归作为对自己的挑战来重写本机JSON.stringify函数.我几乎让我的代码工作:var my_stringify = function(obj){ value = obj[ Object.keys(obj)[0] ];index = Object.keys(obj)[0];delete obj[ Object.keys(obj)[0] ];// The value is just a simple string, not a nested objectif (typeof value === 'string'){if (Object.keys(obj).length !== 0){// Continue recursion ....

javascript – 使用递归而不是EVAL【代码】

我有一个页面中的项目列表,必须按顺序隐藏,但在上一个项目完全隐藏之后. 我做了以下代码,在那里我创建了一个大字符串,在前面的回调中插入回调,然后使用eval来执行效果,但是尽管代码工作正常,但我完全相信这不是最好的方法.这个.// get items to hidevar itemsToHide = jQuery(".hide");// function responsible to hide the itemvar hideItem = function (item, callback) {jQuery(item).hide(100, callback)};// declare an empty...

javascript – 语言之间递归处理的差异【代码】

以下是一些不同语言的片段. 有问题的函数取自SICP,例如. 1.41. Lisp的:(define (double f) (lambda (x) (f (f x)))) (define (inc x) (+ x 1)) (((double (double double)) inc) 5)Python:def double(f):def result(x):return f(f(x))return resultdef inc(x):return x + 1double(double(double(inc)))(5)使用Javascript:var double = function(f) {return function(x) { return f(f(x)) }; };var inc = function(x) { return x...

javascript – 递归地展平数组【代码】

我尝试递归地实现数组flatten函数.这是代码:function flatten(arr) {var flatArr = [];for (var i = 0; i < arr.length; i++) {if (arr[i] instanceof Array) {flatArr.concat(flatten(arr[i]));} else {flatArr.push(arr[i]);}}return flatArr; }console.log(flatten([1, 2, 3, 4, [5]])); /* result: [1, 2, 3, 4] expected: [1, 2, 3, 4, 5] */但我不知道为什么结果不正确.请帮我解释一下.解决方法:The concat() method return...

javascript – 蓝鸟承诺的正确while()循环(没有递归?)【代码】

我一直在学习使用蓝鸟两周的承诺.我对他们大多了解,但我去解决一些相关的问题,似乎我的知识已经崩溃了.我正在尝试这个简单的代码:var someGlobal = true;whilePromsie(function() { return someGlobal; }, function(result) { // possibly even use return value of 1st parm?// keep running this promise codereturn new Promise(....).then(....); });作为一个具体的例子:// This is some very contrived functionality, but ...

autojs pro采用递归的方式,遍历所有子控件的源码分享【代码】

程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进...

Javascript递归(树结构)【代码】

我有以下json:var jsonObj = [{"parentIndex": '0' ,"childIndex": '3' ,"parent": "ROOT","child": "root3"},{"parentIndex": '3' ,"childIndex": '2' ,"parent": "root3" ,"child": "root2"},{"parentIndex": '3' ,"childIndex": '1' ,"parent": "root3" ,"child": "root1"}];我需要在Javascript中使用Recursion将上面的json转换为Tree-structure.树结构看起来像:nodeStructure: {text: { name: "root3" },children: [{t...

javascript – 带有下划线和主干的JSON对象树递归【代码】

假设我有一个嵌套数组到未知深度的json对象.我想将每个数组提供给_.template函数.例如,我的json对象可能如下所示:$start_elements = array (array("elementTag"=>"li","elementClass"=>"dashboard","elementContent"=>array("elementTag"=>"a","elementContent"=>"Dashboard","href"=>"#home") ),array("elementTag"=>"li", "elementClass"=>"count indicator", "elementContent"=>array(array("elementTag"=>"span", "elementCla...

当()包含在调用中时,JavaScript递归函数会中断【代码】

我使用JavaScript和JQuery创建了一个倒计时“Pomodoro”计时器.我指的代码片段如下:var time = 1500; var cycle = "long"; var tracker = 0; var paused = false;//Timer countdown function function countdown(){if (!paused) {var seconds = ("00" + (time % 60)).slice(-2);$("#time").text(Math.floor(time/60) + ":" + seconds);$("title").text(Math.floor(time/60) + ":" + seconds);if (time > 0){time--;setTimeout(cou...

睡衣和JavaScript:太多的递归【代码】

我正在做一个Pyjamas example并得到这个错误:TodoApp InternalError: too much recursion以下是链接教程中TodoApp.py的重要部分(请忽略复制/粘贴中的缩进):class TodoApp: def onModuleLoad(self):self.remote = DataService()panel = VerticalPanel()self.todoTextBox = TextBox()self.todoTextBox.addKeyboardListener(self)self.todoList = ListBox()self.todoList.setVisibleItemCount(7)self.todoList.setWidth("200px")sel...

javascript – 递归包括Sequelize?【代码】

我有可以有子类别的类别 当我正在寻找所有我希望包括所有这些嵌套,但我不知道深度.var includeCondition = { include: [{ model: models.categories,as:'subcategory', nested: true }]};models.categories.findAll(includeCondition).then(function (categories) {resolve(categories);}).catch(function (err) {reject(err);}) });结果只给我一个级别的嵌套包含.[ { dataValues:{ },subcategory:{ model:{ dataValues:{ }/...

javascript – 给定一个带数字的数组,如何编写一个递归函数,当2个元素加到目标时,它会在数组中找到索引?【代码】

这是提示:给定一个整数数组,返回两个数字的索引,使它们加起来到一个特定的目标. 您可以假设每个输入都只有一个解决方案. 例:给定nums = [2,11,15,7],target = 9, 因为nums [0] nums [1] = 2 7 = 9,返回[0,1]. 这是我的解决方案,但它似乎没有给出我预期的输出:var sumTarget = function(array, target) {var result = [];var copy = array.slice();var firstValue = array.shift();if (array.length === 0) {return result;}for ...

如何在javascript中的迭代器生成器中实现递归遍历?【代码】

假设我在javascript中有一棵树,如下所示:let rootNode = {name:'', children:[{name:'0', children:[{name:'00', children:[]},{name:'01', children:[{name:'010', children:[]},]},{name:'02', children:[]},]},{name:'1', children:[{name:'10', children:[]},]},]};我想对它进行前序遍历,我可以这样做:function preOrderTraversalRecursive(rootNode, visitNodeCallback) {function recurse(node) {visitNodeCallback(node);...

JAVASCRIPT - 技术教程分类
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语... JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JavaScript Window JavaScript Window Location JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JavaScript 库 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 javascript 全部