美文网首页
JS中 forEach()和for循环语句的区别

JS中 forEach()和for循环语句的区别

作者: CoderZb | 来源:发表于2021-09-04 17:15 被阅读0次

    需求

    有一个白名单功能,当前登录用户在白名单内的话,直接进入首页,否则进入认证页面。
    当前登录为cc,白名单列表为["aa", "bb", "cc", "dd", "ee", "ff"],使用forEach()和for()看看有啥问题:


    for循环做法:搭配return

    从打印结果来看,当遍历到cc所在的索引就跳出整个for循环,因此采取该做法可以实现这个需求。

    var nameListArray = ["aa", "bb", "cc", "dd", "ee", "ff"];
    for(var i = 0; i < nameListArray.length; i++) {
        console.log('index为---',i);
        if(nameListArray[i] == 'cc') {
          console.log('匹配到的索引为---',i,'name为--',nameListArray[i]);
               return true;
        }
      }
    

    打印结果

    image.png

    forEach()做法:搭配return

    从打印结果来看,当遍历到cc所在的索引时,就会终止本次循环,进行下一个i的循环,并不会跳出整个循环。因此采取该做法不符合该需求。

    var nameListArray = ["aa", "bb", "cc", "dd", "ee", "ff"];
      nameListArray.forEach((item, i) => {
        console.log('i为---', i);
        if (nameListArray[i] === 'cc') {
          console.log('匹配到的索引为---', i, 'name为--', nameListArray[i]);
          return true;
        }
      })
    

    打印结果

    image.png

    总结:
    1:forEach()搭配return不支持中断整个循环的功能,而for循环搭配return支持。
    2:forEach()更加简洁和高效,只是有局限性,1就是一个局限性;for循环适用性更广。

    相关文章

      网友评论

          本文标题:JS中 forEach()和for循环语句的区别

          本文链接:https://www.haomeiwen.com/subject/ajmrwltx.html