美文网首页
Javascript中数组、字符串、对象遍历的方法与区别

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

作者: Fortune_Cookie | 来源:发表于2018-10-25 19:37 被阅读0次

    先申明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()方法返回的是由每一项属性和属性值组成的数组

    相关文章

      网友评论

          本文标题:Javascript中数组、字符串、对象遍历的方法与区别

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