美文网首页
JavaScript中的“for each”、“for of”

JavaScript中的“for each”、“for of”

作者: edison0951 | 来源:发表于2018-07-11 23:01 被阅读25次

    在JavaScript中执行遍历操作时,会经常遇到for each、for of和for in, 那他们之间究竟有什么区别呢?

    1、forEach
    它只能用在数组对象中。forEach接受一个回调函数,回调函数的参数包含三个变量,第一个参数是当前遍历数组中的某个元素,第二个参数是该元素在数组中的下标,第三个元素是数组本身。例如:
    let numbers = [1,2,3,4];numbers.forEach((element, index, array)=>{ console.log("element:",element) });
    注:forEach有一个巨大的缺陷就是不能使用break或者return来中段循环。

    2、for of
    在ES6中提供一种新的遍历集合对象的方式,不仅仅是数组可以使用,像Set, List以及其它自定义集合对象都可以使用。但前提是它所遍历的对象必须有 [Symbol.iterator] 属性,也就是我们所说的迭代器对象。并且for of操作符可以在for循环中使用break, continue和return来中段循环。比如:
    for (let word of uniqueWords) {if (word.length>0){console.log(word);}else{continue; }}

    3、for in
    一般它被用来遍历一个对象的所有属性。通过for in 你可以很方便的访问到对象的属性的字符串类型的键。在JavaScript对象的属性自己也有一些内部属性,其中的一个内部属性就是[[Enumerbale]] 。只要当属性的内部属性[[Enumerbale]]值设置为true时,for in操作的时候才能读取到。

    相关文章

      网友评论

          本文标题:JavaScript中的“for each”、“for of”

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