草庐IT

递归方程

全部标签

javascript - 使用 Ramda 递归 "merge"或 "extend"?

我正在尝试找到与Lodash'smerge等效的函数使用Ramda执行基于递归对象键的“合并”或“扩展”。该行为类似于以下内容:letmerged=R.someMethod({name:'Matt',address:{street:'Hawthorne',number:22,suffix:'Ave'}},{address:{street:'Pine',number:33}});console.log(merged);//=>{name:'Matt',address:{street:'Pine',number:33,suffix:'Ave'}}我注意到以下pullrequest简要介绍了

javascript - 数组中的递归以查找奇数并推送到新变量

我尝试递归这些数组以找到奇数/偶数,然后将它们推送到newArr但结果不是数组,结果是带有数字的字符串找到奇数/偶数后的结果数。这是我写的代码,functionodd(nums){varresult=[];if(nums.length===0){returnresult;}elseif(nums[0]%2===0){result.push(nums[0])//returnodd(nums.slice(1))};returnresult+odd(nums.slice(1));};vararr=[1,8,3,4,4,5,9,13,13,9,10];varprint=odd(arr);con

javascript - 自调用函数中递归函数的 setTimeout()

我想将我的代码作为一个self调用的匿名函数来分发,正如我看到的那样。此外,在我的代码中,我必须监视另一个库加载,以便我可以在它可用时使用它。(function(window,document,undefined){staffHappens();varinitMyLib=function(){if(typeof(myLib)=='undefined'){setTimeout("initMyLib()",50);}else{useMyLib();}}moreStaffHappens();initMyLib();//->initMyLibisundefined})(this,documen

javascript/threejs - 围绕中心 y 轴(在 3D 空间中)在圆中移动对象的方程式

我正在试验threeJS,我已经定位了一个相机并查看场景的原点(0,0,0)。我想以设定的距离(半径)围绕y轴绕一圈移动该相机,同时保持其对原点的关注,但我不确定如何设置方程式。目前,我只是在旋转对象本身,但我想改为旋转相机。这是我移动网格的代码:functioncheckRotation(){if(keyboard.pressed("left")){mesh.rotation.y+=.05;}if(keyboard.pressed("right")){mesh.rotation.y-=.05;}}下面是一些移动相机的例子:camera.position.x=???(移动其x位置的一些

javascript - 带递归的 JS Curry 函数

请在将其标记为重复之前阅读。我不是要求单一的curry调用。这个函数乘法,乘法(4,4,4)//64functionmultiplication(...args){returnargs.reduce((accum,val)=>accum*val,1)}但是我正在努力实现其他目标......这个相同的函数也应该乘以它的curry函数括号。例如/*whichreturnthemultiplicationofthreenumbers.Thefunctioncanbecalledinanyofthefollowingforms:multiply(2,3)(4)=>24multiply(2)(3

javascript - 在 JavaScript 中使用递归展平嵌套数组

我试图在保留顺序的同时展平嵌套数组,例如[[1,2],3,[4,[[5]]]]应转换为[1,2,3,4,5]。我正在尝试使用递归来执行此操作,但下面的代码不起作用,我不明白为什么。我知道还有其他方法可以做到这一点,但我想知道这有什么问题。functionflatten(arr){varnewArr=[];for(vari=0;i谢谢 最佳答案 递归调用flatten时,需要将arr[i]传给它,然后用newArr拼接结果。所以替换这一行:flatten(arr);与:newArr=newArr.concat(flatten(arr[

javascript - Eloquent JavaScript 2nd Edition 递归练习解答

我试图解决在线书籍eloquentjavascript2ndedition的递归练习:问题是这样的:We’veseenthat%(theremainderoperator)canbeusedtotestwhetheranumberisevenoroddbyusing%2tocheckifit’sdivisiblebytwo.Here’sanotherwaytodefinewhethera(positive,whole)numberisevenorodd:Zeroiseven.Oneisodd.ForanyothernumberN,itsevennessisthesameasN-2.De

javascript - 递归 ajax() 请求

我使用jQuery的ajax()来获取信息。我在请求成功时调用该方法。这是代码:functionrecursively_ajax(){console.warn("begin");$.ajax({type:"GET",url:"./JvmInfoClass",success:function(data){console.warn("getjvminfosuccess");recursively_ajax();}});}recursively_ajax();我让线程在后端休眠3秒。但是控制台不会在3秒后连续打印消息。这是为什么? 最佳答案

javascript - 这个递归是如何工作的?

这是EloquentJavascript的一个例子:Bystartingfromthenumber1andrepeatedlyeitheradding5ormultiplyingby3,aninfiniteamountofnewnumberscanbeproduced.Howwouldyouwriteafunctionthat,givenanumber,triestofindasequenceofadditionsandmultiplicationsthatproducethatnumber?我无法理解递归在这里是如何工作的,想知道是否有人可以写出几次如何调用find或其他一些解释。f

javascript - 递归连接javascript函数参数

我遇到了一个javascript难题,询问:编写一段JavaScript代码,将所有传递给函数的字符串连接起来:functionconcatenate(/*anynumberofstrings*/){varstring=/*youronelinehere*/returnstring;}@meebo看到函数参数被表示为一个索引对象可能是一个数组,我认为可以用递归的方式来完成。但是我的递归实现抛出了一个错误。--"conc.arguments.shift不是函数"--functionconc(){if(conc.arguments.length===0)return"";elseretur