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

    1.遍历对象

    for ... of

            var obj = {
                a: 1,
                b: [],
                c: function () {}
                };
                for (var key of obj) {
                console.log(key);
                //出错
                //Uncaught TypeError: obj is not iterable
                }

    for ... in

            var obj = {
                a: 1,
                b: [],
                c: function () {}
                };
                for (var key in obj) {
                console.log(key);
                //打印
                // a 
                // b
                // c
                }

    2.遍历数组

    for ... of(打印的是值)

            var arr=[1,2,3]
            for(let i of arr){
                console.log(i)
            }
            //结果是
            //1
            //2
            //3

    for ... in(打印的是坐标)

            var arr=[1,2,3]
            for(let i in arr){
                console.log(i)
            }
            //结果是
            //0
            //1
            //2

    3.遍历map

    for ... of

            let map = new Map([["a", 1], ["b", 2], ["c", 3]]);
            for(let entry of map){
                console.log(entry)
            }
            //输出:
            //["a", 1]
            //["b", 2]
            //["c", 3]

    for ... in

            let map = new Map([["a", 1], ["b", 2], ["c", 3]]);
            for(let entry in map){
                console.log(entry)
            }
            //啥都不输出

    4.遍历set

    for ... of

            let set = new Set([1, 1, 2, 2, 3, 3]);
            for(let i of set){
                console.log(i);
            }
            //1
            //2
            //3

    for ... in

            let set = new Set([1, 1, 2, 2, 3, 3]);
            for(let i in set){
                console.log(i);
            }
            //啥都不输出

    5.总结

    1. for-of 无法遍历 不可迭代对象

    可迭代对象包括: Array,Map,Set,String,TypedArray,arguments等等

    1. for-of 遍历的是值,for-in遍历的是key

    一点点学习,一丝丝进步。不懈怠,才不会被时代所淘汰!

  • 相关阅读:
    浅谈Static关键字
    iOS安装CocoaPods详细过程
    解决最新版 mac os sierra usb网卡不能使用的问题
    pyCharm最新2017激活码
    开发中所使用的渠道(统计分析、分享、第三方登录、短信等)
    oc中文首字母排序
    UIFont 设置字体
    iOS运用runtime全局修改UILabel的默认字体
    OC录制小视频
    OC
  • 原文地址:https://www.cnblogs.com/fqh2020/p/15040167.html
Copyright © 2011-2022 走看看