Javascript中数组、字符串、对象遍历的方法与区别

先申明3种数值:数组、字符串、对象

    var array = [4,5,6,7];
    var string = 'gaoliang';
    var object = {
        name:'gl',
        age:20,
        sayName:function() {
            console.log(this.name);
        }
    };

for in

数组

    for(let i in array) {
        console.log(i); //  0 1 2 3
    }

字符串

    for(let i in string) {
        console.log(i); //  0 1 2 3 4 5 6 7
    }

对象

    for(let i in object) {
        console.log(i); //  name age sayName
    }

总结:for in 循环遍历数组、字符串时,i 对应的是每一项的索引值,返回的是分别每一个索引值序列。 遍历对象时,i 对应的是对象的属性


for of

数组

    for(let v of array) {
        console.log(v); //  4 5 6 7
    }

字符串

    for(let v of string) {
        console.log(v); //  g a o l i a n g
    }

对象

     for(let v of object) {
        console.log(v);  // 报错:object is not iterable
     }

总结:for of 循环中,遍历的是数组或字符串时,v 对应的是 每一项的值,返回的是每一个值的序列;对象不能用for of 遍历


keys()

数组

    for(let i of array.keys()) {
        console.log(i); //  0 1 2 3
    }

对象

console.log(Object.keys(object));   //  ['name','age','sayName'];

总结

  • 数组的keys()方法返回的是每一项索引值组成的序列
  • 对象的keys()方法返回的是由属性组成的数组
  • 字符串没有keys()方法

values()

数组

    for(let i of array.values()) {
        console.log(i); //  4 5 6 7
    }

对象

console.log(Object.values(object)); //  ['gl',20,f]

总结:

  • 数组的values()方法返回的是每一项值组成的序列
  • 对象的values()方法返回的是由属性值构成的数组
  • 字符串没有values() 方法

entries()

数组

    for(let [index,value] of array.entries()) {
        console.log(index,value);   // 0 4    1 5     2 6    3 7
    }

对象

    console.log(Object.entries(object));    //  ['name','gl']   ['age',20]  ['sayName',f]

总结:

  • 数组的entries()方法返回的是由每一项索引值和数组值组成的键值对
  • 对象的entries()方法返回的是由每一项属性和属性值组成的数组
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • “你在干什么呀?”这是她这个星期第二次主动和他说话。 “上班” “累不累?”她心底在欢呼雀跃,感叹自己的优秀推理能...
    姜六儿阅读 163评论 0 0
  • 寻一个答案 问题是什么 我忘了 一直跟着时间走 树影在倒退 河流在流淌 鹅卵石在阳光下泛着光 小脚丫掠过 水的温度...
    一颗空心菜阅读 152评论 0 1
  • 我允许自己放下。 第五章愿意宽恕的肯定句我是自由的。在这一章一开始,有份自检清单,以下会重复那些句子,并分别加上与...
    honey青青阅读 291评论 0 0

友情链接更多精彩内容