美文网首页
关于JS中的循环

关于JS中的循环

作者: 飞凡的陀螺 | 来源:发表于2018-08-12 21:45 被阅读2次

JS 中的循环有for...in, for..of, forEach

  1. forEach遍历数组的时候是无法通过break或return false来中断。
var arr = [3, 5, 7];

arr.forEach(value => {
  console.log(value);
  if (value == 5) {
    // 无效
    return false;
  }
});
// 结果是:
// 3
// 5
// 7

可以使用for...of

var arr = [3, 5, 7];

for (let value of arr) {
  console.log(value);
  if (value == 5) {
    break;
  }
}
// 结果是:
// 3
// 5

for...of循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符串。

let str = 'boo';

for (let value of str) {
  console.log(value);
}
// 结果是:
// "b"
// "o"
// "o"

总结:

  1. 对于对象遍历,用for...in
  2. 对于数组遍历,如果不需要知道索引,for..of迭代更合适,因为还可以中断;如果需要知道索引,则forEach()更合适;
  3. 对于字符串,类数组,arguments对象、DOM NodeList 对象等只要部署了Symbol.iterator属性,用for...of循环遍历它的成员。

iterator 就是迭代器或遍历器,任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。具体参见

用 for...of 遍历对象需要配合 Object.keys / Object.values / Object.entries

let obj = {name: 'xx', age: 18}
for(let [key, value] of Object.entries(obj)) {
   console.log(key, value);
}

参考:
https://www.zhangxinxu.com/wordpress/2018/08/for-in-es6-for-of/
http://es6.ruanyifeng.com/#docs/iterator#for---of-%E5%BE%AA%E7%8E%AF

相关文章

  • JavaScript 04 (do...while循环/for

    js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的contin...

  • 关于JS中的循环

    JS 中的循环有for...in, for..of, forEach forEach遍历数组的时候是无法通过bre...

  • 关于客户端JS性能优化(部分)

    下面是一些关于客户端JS性能的一些优化的小技巧: 1.关于JS的循环,循环是一种常用的流程控制。JS提供了三种循环...

  • js中关于循环的那些API

    数组循环 针对数组,for循环完全OK,此处略过不表,只说一说为方便我们开发而那些内置的方法: forEach就是...

  • 06-循环结构

    //js中的循环分为for循环和while循环 //1.for循环//a.for- in (和python中的fo...

  • js 中的循环

    在讲循环的之前,先知道一下循环结构的执行步骤1、声明循环变量;2、判断循环条件;3、执行循环体操作;4、更新循环变...

  • js 中的 for 循环

    特点 一 for循环设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 执行结果

  • Js中的for循环

    在JS中主要的循环包含 while do while for for-in在这些循环中,使用最多的是for循环,下...

  • JS中的循环

    循环 循环的目的:在实际问题中,有许多规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句 JS中的...

  • js 循环

    js中forEach,for in,for of循环的用法 js的 for...in 和 for...of的用法 ...

网友评论

      本文标题:关于JS中的循环

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