首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何停止JavaScript for循环?

如何停止JavaScript for循环?
EN

Stack Overflow用户
提问于 2012-03-23 05:15:24
回答 4查看 234.8K关注 0票数 151

我使用这个JavaScript遍历一个数组并找到一个匹配的数组元素:

代码语言:javascript
复制
var remSize = [], 
    szString, remData, remIndex, i;

for (i = 0; i < remSize.length; i++) {      
    // I'm looking for the index i, when the condition is true
    remSize[i].size == remData.size ? remIndex = i : remIndex = -1;     
}

该数组包含以下“大小”:["34", "36", "38"...]

remData.size是我正在寻找的“大小”(例如"36")。

如果我搜索的大小在索引中,我需要返回索引i。否则我需要返回-1。有没有更好的方法来做这件事?

EN

回答 4

Stack Overflow用户

发布于 2017-01-04 14:38:03

改用for of循环,它是ES2015版本的一部分。与forEach不同,我们可以使用return、break和continue。请参阅https://hacks.mozilla.org/2015/04/es6-in-depth-iterators-and-the-for-of-loop/

代码语言:javascript
复制
let arr = [1,2,3,4,5];
for (let ele of arr) {
  if (ele > 3) break;
  console.log(ele);
}
票数 25
EN

Stack Overflow用户

发布于 2012-03-23 05:19:04

逻辑是不正确的。它总是返回数组中最后一个元素的结果。

代码语言:javascript
复制
remIndex = -1;

for (i = 0; i < remSize.length; i++) {      
    if (remSize[i].size == remData.size) {
        remIndex = i
        break;
    }
}
票数 10
EN

Stack Overflow用户

发布于 2019-12-02 05:09:34

我知道这有点老了,但是与使用for循环遍历数组相比,使用<array>.indexOf(<element>[, fromIndex])方法要容易得多

它遍历数组,查找并返回值的第一个索引。如果该值不包含在数组中,则返回-1。

<array>是要查找的数组,<element>是要查找的值,[fromIndex]是开始的索引(默认为0)。

我希望这能帮助你减少代码的大小!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9830650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档