草庐IT

PHP嵌套foreach

全部标签

javascript - 如何使用父 id 将对象添加到嵌套的 javascript 对象

在我的应用程序中,我基于来自服务器的JSON响应创建了一个JavaScript对象,类似于:{name:"root",id:1,children:[{name:"childone",id:11,children:[{name:"grandchild1",id:111,children:[]},{name:"grandchild2",id:112,children:[]}]},{name:"childtwo",id:12,children:[]}]}我创建了一个新节点,例如:{name:"grandchildthree",id:113,children:[]}考虑到这一点,我如何将这个新

javascript - 如何从嵌套的匿名函数返回值给父函数

我有一个javascript函数,它应该返回一个字符串的地理编码:functioncodeAddress(address){varresult=(newgoogle.maps.Geocoder()).geocode({'address':address},function(results,status){if(status==google.maps.GeocoderStatus.OK){returnString(results[0].geometry.location.Ya)+','+String(results[0].geometry.location.Za)}else{return

javascript - 对于 Array,在 javascript 中使用 map() 和 reduce() 而不是 forEach() 效率更高吗?

1)正如我们所知,map()和reduce()没有副作用。如今,我们的手机也有多核。那么使用它们效率更高吗?2)另一方面,js在大多数浏览器上只有一个线程可以执行。因此map()和reduce()是为服务器端脚本准备的? 最佳答案 我今天刚刚测试了这个,使用map和reduce处理float,使用最新的node.js版本,答案是map和reduce比常规的for循环慢两个数量级。varr=array.map(x=>x*x).reduce((total,num)=>total+num,0);~11,000毫秒varr=0.0;arra

javascript - forEach 在删除前一个元素时跳过一个元素

我有两个数组,available_items和requested_items。我想从requested_items中删除available_items中缺少的元素。使用forEach显然不会给出预期的结果,因为即使删除一个元素并且下一个元素将具有旧索引,内部索引也会增加。这是一个测试用例(也在thisjsbin中):varavailable_items=[2,5,9,36,48,23];varrequested_items=[5,12,49,30,90,17];requested_items.forEach(function(v,i,a){if(available_items.inde

Javascript - 嵌套for循环索引的范围

我记得变量在Javascript中是函数范围的。但是,如果我在循环中重新定义局部变量,行为会怎样。一个常见的用例是嵌套循环。在下面的代码中,如果我将j更改为i,则外部for循环在一次迭代后终止,因为i在外部范围内的值与内部for循环相同。因为我使用var,所以我期待(类似于其他语言)它在内部fo循环中被重新定义。这是否意味着在JS中,没有办法在函数范围内重新声明和使用局部变量。for(vari=0,len=x.length;i 最佳答案 如您所说,JavaScript只有函数作用域。变量声明被提升到声明它们的范围的顶部。你的例子是这

javascript - Nodejs - 迭代嵌套 JSON 数组的正确方法

考虑以下示例JSON数组:[{info:{refOne:'refOne',refTwo:[{refOne:'refOne',refTwo:'refTwo'}]}},{info:{refOne:'refOne',refTwo:[{refOne:'refOne',refTwo:'refTwo'}]}}]上面的JSON是数据库查询响应的简单表示,在Nodejs中循环遍历父信息数组中的每个“refTwo”数组的正确方法是什么?sudo示例:对于示例JSON中的每个项目对于当前项目中的每个refTwo项目做某事我怀疑此处可能需要“异步”库,但非常感谢一些建议。 最佳答

javascript - 同步 forEach 循环(等待它结束)

我在Node.js中有一个函数,它接受一个数组并循环遍历它,对每个元素进行一些耗时的计算。这是该函数的super简化版本:varanalyze_data=function(data){data.forEach(function(elm){if(elm.myProp==true){returntrue;}});returnfalse;}本质上,如果任何元素的属性myProp等于true,我希望函数返回true。如果没有元素满足此条件,则该函数应返回false。但是,代码从不等待forEach循环完成。换句话说,如果数组中的第100个元素满足条件,则函数应返回true。相反,它会跳到ret

javascript - AngularJs:返回嵌套 $http 的 promise - 已经找到解决方案,但为什么它有效?

这个问题在这里已经有了答案:Aren'tpromisesjustcallbacks?(11个答案)关闭7年前。我想构建一个嵌套的$http.get,在第一个成功之后,然后请求第二个。然后我想出了这样的东西:$http.get('/xxx').then(function(response){$http.get('/yyy').then(function(response){//dosomething})});但毕竟我想返回一个Promise,这样我就可以正确地组织我的代码。显然上面的代码不能满足我的需求。然后我对$q.all()做了很多研究,但实际上对于$q.all,第二个请求不会等待第

javascript - 从嵌套数组中获取非空元素的数量

我有十个空值数组onTable[0to10];看["Jean5","Jean3","Paul2","Jean6","","Paul4","Jean","peirre4",""]["Paul5","peirre6","peirre3","","Jean4","Paul","peirre5","Jean2",""]...我想获取每个数组的长度,不带空值,也不创建十个变量来检查。我已经测试了这个解决方案countemptyvaluesinarray但我不想做十个变量。即:count1,count2,...。我也查了comparetwoarraysbasedonlength:skipempty

javascript - 如何卡住javascript中的嵌套对象?

我刚刚偶然发现了Object.freeze()函数。这似乎是一个很好的特性,但如何使整个对象(包括嵌套对象)不可变?例如,我可以在此处更改innerProp:constobj={prop:{innerProp:1}};obj.prop.innerProp=5;console.log(obj.prop.innerProp);//5是否也可以卡住嵌套对象?(ECMAScript5/6) 最佳答案 functiondeepFreeze(o){Object.freeze(o);if(o===undefined){returno;}Objec