草庐IT

跳出循环

全部标签

javascript - 有没有办法随机循环对象的键?

我有一个类似这样的for循环for(varkeyinmyObjectArray){[code]}除了每次都打乱输出顺序外,我想做同样的事情。有什么简单的方法吗?我可以制作一个单独的键数组,对它们进行排序,然后使用索引执行for循环……但这看起来工作量很大而且效率很低。 最佳答案 是的。首先,您需要一组键:varkeys;if(Object.keys)keys=Object.keys(myObjectArray);elsekeys=(function(obj){vark,ret=[];for(kinobj)if(obj.hasOwnP

javascript - 循环内的递归函数

我一直在研究递归函数,并开始或多或少地了解它们。当我遇到这个问题时,我正在参加一个免费的代码训练营挑战,但我不明白。for循环内的递归函数:functionsteamroller(arr){varnewArr=[];for(vari=0;i我很难理解的是:newArr=newArr.concat(steamroller(arr[i]));在那一行,newArr连接到什么?该函数在.concat方法中再次被调用,对吗?但是那个for循环会发生什么?concat方法内部的函数调用是否强制退出循环?这是一个JSFiddle,我将每个newArr都记录到控制台,但我什至无法遵循它。数组是这样构

javascript - 跳出内部 foreach 循环

我正在尝试使用JavaScript/jQuery跳出内部foreach循环。result.history.forEach(function(item){loop2:item.forEach(function(innerItem){console.log(innerItem);breakloop2;});});这会导致错误'Unidentifiedlabelloop2'。它似乎就在循环之前,这是其他问题所说的问题。我做错了什么,我该如何解决?编辑:正确,foreach循环不能以这种方式中断,但常规的for循环可以。这是有效的:result.history.forEach(function

javascript - 使用 forEach 循环遍历 Array(n),未定义值的数组

这个问题在这里已经有了答案:JavaScript"newArray(n)"and"Array.prototype.map"weirdness(14个答案)forEachonarrayofundefinedcreatedbyArrayconstructor(5个答案)关闭6年前。我想使用数组构造函数Array()快速构造一个长度为n的数组,然后循环生成的数组。根据MDN'sdocs:IftheonlyargumentpassedtotheArrayconstructorisanintegerbetween0and232-1(inclusive),thisreturnsanewJavaSc

javascript - Vue 中的嵌套循环

我有一个通过vue传递的对象的对象,我这样做是为了运行:@{{question}}但是我收到这个错误:属性或方法“subjects”未在实例上定义,但在渲染期间被引用。确保在数据选项中声明响应式数据属性。(在根实例中找到)如何在vue中运行嵌套循环? 最佳答案 举个例子:varvm=newVue({el:'#app',data:{questions:[{subjects:['question1.1','question1.2']},{subjects:['question2.1','question2.2']}]}}){{subje

javascript - For-In 循环是否会导致未定义或空值?

这是我的代码:consta=function(obj){for(letkeyinobj){if(!obj.hasOwnProperty(key)){continue;}console.info(key.split('_'));}};a({a_b:123});我认为根本没有问题,但SonarQube给我一个严重错误:TypeErrorcanbethrownas"key"mightbenullorundefinedhere.key.split('_')中的单词key被高亮显示。指示变量键在这里可以是undefined/null。我试着传入类似{[undefined]:123}的东西,变量k

javascript - 带有粗箭头的数组上的 forEach 循环

我想用回车逐行打印一个数组。简单的实现是[1,2,3].forEach(function(x){console.log(x)})将其作为输出123现在如果我使用ES6粗箭头的语法糖,michel$node>[1,2,3].forEach(x=>console.log(x))123undefined>>[1,2,3].forEach(console.log)10[1,2,3]21[1,2,3]32[1,2,3]undefined当在forEach回调中省略函数参数时,看起来第二个版本正在返回其自身的笛卡尔积。在Scala等其他函数式语言中这完全没问题,为什么在JavaScript中这是“

Javascript 循环问题

我知道这很简单,只是我无法理解。无论如何,我有一个简单的函数,它循环遍历一系列的六个图像和文本,并根据可见的图像和文本隐藏和显示它们。我遇到的问题是,当它到达最后一张图像时,它应该从第一张图像重新开始,但它会返回到中间图像。setInterval('testAnimation()',5*1000);show=0;functiontestAnimation(){$("#headerImage"+show).fadeOut();$("#headerText"+show).fadeOut();if(show==5){show=0;}else{show++;}$("#headerImage"+

javascript - 从 for-in 循环获取属性名称背后的简单理论?

首先,我想说我在理论上很厉害。我不喜欢抽象。在尝试使用它们之前,我想知道它们是如何工作的。我一直在到处寻找获取for-in循环的属性名称(而不是值)背后的简单理论。我将在代码中演示它,希望有人可以解释它是如何工作的……varobj={one:1,two:2,three:3};//Abasicobjectinstantiatedwith3publicproperties.for(varpropinobj){console.log(prop);//logs"one","two"and"three"???}我认为它会将prop变量评估为1、2和3,但它会记录实际的属性名称。我知道obj[pr

javascript - val() 循环可能性与 each() 相反

这个问题在这里已经有了答案:ReadmultiplejQuery.val()intoarray(3个答案)关闭9年前。所以有点假设性的问题(如果有另一篇文章有​​同样的问题,请不要犹豫,让我知道-虽然我没有找到)因此,.val()方法返回与选择器匹配的第一个元素的当前值。是否有另一种“速记”jquery方法获取所有匹配元素的值并返回一个数组?或者我这样做最安全吗:varmyResult=[];$(".myClass").each(function(){myResult.push($(this).val());});正如我上面所说,我正在寻找一些东西,但可能只是我必须使用.each()