美文网首页JS
js遍历方式总结

js遍历方式总结

作者: 言歌不言歌 | 来源:发表于2017-01-04 22:19 被阅读0次
    var str='abcde';
    var obj={
        'name':'xiaoxue',
        'age':'18'
    };
    var arr=['aa','bb','cc','bb'];
    var set=new Set(arr);
    var map=new Map([['name','xiaoxue'],['age','18'],['sex','w']]);
    
    console.log(set);
    // 把Set转换成Array
    var arr2=Array.from(set);
    console.log(arr2);
    

    普通for循环

    只能遍历数组和字符串

    • 普通for循环遍历字符串
    console.log("普通for循环遍历字符串");
    for (var i = 0; i < str.length; i++) {
        console.log(str[i]+'=='+str.charAt(i)+'=='+str.charCodeAt(i));
    }
    
    • 普通for循环遍历对象 不能使用
    console.log("普通for循环遍历对象    不能使用");
    
    • 普通for循环遍历数组
    console.log("普通for循环遍历数组");
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    
    • 普通for循环遍历Set 可以遍历,但是没有意义,获取不到每个值
    • 普通for循环遍历Map 可以遍历,但是没有意义,获取不到每个值

    for..in..循环

    可以遍历字符串、对象、数组

    • for..in..循环遍历字符串
    for(var prop in str){
        console.log(str[i]+"=="+str.charAt(i));
    }
    
    • for..in..循环遍历对象
    for (var prop in obj) {
        console.log(obj[prop]);
    }
    
    • for..in..循环遍历数组
    for (var i in arr) {
        console.log(arr[i]);
    }
    
    • for in循环遍历Set 不能遍历
    • for in循环遍历Map 不能遍历

    for..of..循环

    不能遍历对象,需要实现Symbol.interator接口

    • for..of..遍历字符串
    for (var chr of str) {
        console.log(chr);
    }
    
    • for..of..循环遍历对象 不能遍历,需要实现Symbol.interator接口
    • for..of..循环遍历数组
    for (var ele of arr) {
        console.log(ele);
    }
    
    • for..of..循环遍历Set
    for (var s of set) {
        console.log(s);
    }
    
    • for..of..循环遍历Map
    for (var m of map) {
        console.log(m);
        console.log(m[0]+"="+m[1]);
    }
    
    for (var [key,value] of map) {
        console.log(key+"="+value);
    }
    
    for (var key of map.keys()) {
        console.log(key);
    }
    
    for (var value of map.values()) {
        console.log(value);
    }
    

    forEach()循环

    forEach循环不能遍历字符串、对象

    • forEach遍历字符串:不能使用
    • forEach遍历对象:不能使用
    • forEach遍历数组
    arr.forEach(function(ele,index,arr){
        console.log(ele+'=='+index);
        console.log(arr[index]);
    });
    
    • forEach遍历Set
    // 前两个参数就是set的每一个元素
    set.forEach(function(ele,ele2){
        console.log(ele+"=="+ele2);
    });
    
    • forEach遍历Map
    map.forEach(function(key,value){
        console.log(key+"=="+value);
    })
    

    相关文章

      网友评论

        本文标题:js遍历方式总结

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