zoukankan      html  css  js  c++  java
  • for in和for of循环的区别

    for...in由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组也是一个对象,数组中的每个元素的索引被视为属性名称,所以我们可以看到使用for...in循环Array数组时,拿到的其实是每个元素的索引。

    let arr = ['a','b','c'];
    
    for(let index in arr ){
        console.log(index);   // 0 1 2
    }
    
    for(var value of arr){
        console.log(value);   //a b c
    }

    for of 补充了for in 的缺陷

    let arr = ['a','b','c'];
    arr.hobby = 'foosball';
    
    for(let index in arr){
        console.log(`${arr[index]}`);    // a b c 'foosball'
    }
    for(var value of arr){
        console.log(value);   // a b c
    }

    使用for in会遍历数组和对象上所有的可枚举属性,包括原型上的属性。所以for in更适合遍历对象,不适合使用for in遍历数组。

  • 相关阅读:
    phpstorm Failed to create JVM:error code -4
    php内置函数
    多少
    php 正则
    php 数组 array
    位运算题
    c标准库函数 strcat
    strcpy c标准库函数
    编写一个删除c语言程序文件中所有的注释语句
    杂记
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12673554.html
Copyright © 2011-2022 走看看