jjzjj

while-loop

全部标签

javascript - 当一个简单的 For Loop 工作正常时,我的 forEach 方法有什么问题

所以,我有一个简单的任务,给定数组:letarr=[true,false,true,false,true];我需要将true反转为false,反之亦然。我已经设法用for循环做到了这一点:而且它工作正常。现在,我正尝试对forEach做同样的事情,但我不明白为什么这行不通。所以,这是我的代码:for(leti=0;iel===true?el=false:el=true);console.log(arr)//Neitherthis:arr.forEach(el=>el===true&&el=false||el===false&&el=true);console.log(arr)map也不

javascript - while 循环中的 setTimeout() 方法

这个问题在这里已经有了答案:WhyisthemethodexecutedimmediatelywhenIusesetTimeout?(8个答案)HowdoIaddadelayinaJavaScriptloop?(32个答案)关闭上个月。我已经阅读了w3schools和其他类似问题的相关页面,但似乎无法理解以下位有什么问题:varmyfunc03=function(i){document.getElementById('d01').innerHTML+=100-i+"";};varmyFunc01=function(){i=0;while(i当myFunc01();运行时。没有任何停顿,

条件是 promise 的 Javascript while 循环

是否可以在条件为promise的情况下制作原生JavaScriptwhile循环?编辑:我想要做的是在将文件上传到firebase存储之前实现检查,以查看firebase存储中是否已存在同名文件。如果已经有同名文件,则添加一个随机后缀并再次检查。varstorageRef=firebase.storage().ref().child(fileName);while(storageRef.getDownloadURL()){//createrandomnumberinbetween0and100varrandom=Math.floor((Math.random()*100)+1);sto

javascript - while 循环中的 setTimeout

我已经搜索了如何将setTimeOut与for循环一起使用,但是关于如何将它与while循环一起使用的内容并不多,而且我不明白为什么应该有很多无论如何区别。我已经编写了以下代码的一些变体,但这个循环似乎会使浏览器崩溃:while(src==''){(function(){setTimeout(function(){src=$('#currentImage').val();$("#img_"+imgIdx).attr('src',src);},500);});}为什么?基本上我有一个动态创建的图像,其source属性有时需要时间来加载,所以在我可以显示它之前,我需要继续检查它是否已加载,

javascript - 当循环遍历 JS 数组的值并删除值时,是否需要使用 while 而不是 for?

varmyArray=[1,2,3,4,5,6,7,8,9];functionisOdd(value){returnvalue%2;}for(vari=0;i上面的代码采用任意长度的数组并检查每个值。如果数组位的值满足任意条件(在本例中为奇数),则将其从数组中移除。Array.prototype.splice()用于从数组中删除值,然后递减i以说明数组中的其余值“向下移动”以填补删除值留下的空白(因此循环不会跳过值)。但是,当i等于数组的长度时,for循环结束,随着值的删除,数组长度变短。myArray.length的值是随着循环的进行而动态减少,还是它在循环开始时保存值而不是在值被删

javascript - Angular : chaining promises over forEach loop

我无法理解promise。我正在使用GoogleEarthAPI进行地址“游览”。游览只是一个持续大约一分钟的动画,一个完成后,下一个应该开始。这是我的巡视功能:vartourAddress=function(address){returntourService.getLatLong(address).then(function(coords){returntourService.getKmlForCoords(coords).then(function(kml){_ge.getTourPlayer().setTour(kml);_ge.getTourPlayer().play();v

javascript - 在 Javascript 中,While 循环在控制台上运行时从 1 计数到 5 时重复最后一个数字

这个问题在这里已经有了答案:Javascriptwhileloopreturnvalue(3个答案)关闭6年前。在控制台上运行以下代码时:varcounter=0;while(counter控制台o\p:01个2个3个4个4而下面的代码工作正常,没有重复最后一个值:for(vari=0;i控制台o\p:01个2个3个4现在,如果我在上面提到的while循环之后放置上面的for循环,输出就完全没问题了:varcounter=0;while(counter控制台o\p:01个2个3个4个01个2个3个4然而,如果我在for循环之后放置while循环,则会重复找到的最后一个数字。for(va

javascript - Const must be initialized error in Microsoft Edge in for...of loop

我正在使用const和JavaScript的新forof循环结构。它在Chrome中运行良好,但在MSEdge中,以下代码会引发错误:for(constaof[1,2,3])console.log(a);Error:Constmustbeinitialized同样,在chrome中工作正常,边缘抛出错误。我猜它期望const变量有一个初始化值,但这就是for的全部工作,不是吗?MDN说edge支持循环,所以浏览器支持不是问题。 最佳答案 根据https://kangax.github.io/compat-table/es6,"con

javascript - 用于分页的 RXJS while 循环

我尝试查询swapapi中的所有人数据.URLswapi.co/api/people返回一个对象,其中包含一个人数组和我从中获取下一个数据的URL(swapi.co/api/people/?page=2)。我想要做的是,每次有新页面可用时,订阅方法都会更新Angular组件。我是响应式(Reactive)编程模型的新手。如何实现while循环或一系列Observable?这适用于第一页:getAllPeople():Observable{letnextUrl=http://swapi.co/api;letsource=Observable.create(observer=>{this.

控制台中的 JavaScript while 循环打印额外的结果

谁能解释为什么以下代码在作为函数的一部分运行时有效,但在Chrome控制台窗口中单独运行时会产生奇怪的结果?varfoo=function(){varx=1;while(x但是,当我直接在Chrome控制台中运行while部分时,我得到1,2,3,这是没有意义的(请参见输出图像):vary=1;while(y请注意,关于console.log有一些类似的问题导致undefined(Chrome/Firefoxconsole.logalwaysappendsalinesayingundefined),但是我的示例中没有函数调用,while永远不会返回任何值。