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

    1. 返回结果不一样

    for in 返回数组的key

    for of 返回数组的value

    var nums:number[] = [1001,1002,1003,1004] 
    // for in
    for (var key in nums) {
        console.log(key) 
    }
    // 输出:
    /**0
       1
       2
       3
    */
    // for of
    for (var val of nums) {
        console.log(val)
    }
    // 输出:
    /**1001
       1002
       1003
       1004
    */
    

    2. for of 无法遍历对象

    var objList = {
        id: '001',
        name: '仙女',
        age: 17
    }
    // for in
    for (var key in objList) {
        console.log(key);
    }
    // 输出
    /**id
       name
       age
    */
    // for of
    for (var val of objList) {
        console.log(val);
    }
    /**类型“{ id: string; name: string; age: number; }”必须具有返回迭代器的 "[Symbol.iterator]()" 方法。ts(2488)
    */
    

    3. for in 会遍历自定义属性,for of不会

    var nameList = ["胡八一", "王凯旋", "雪莉·杨"];
    nameList.lastName = "金爷";
    // for in
    for (var key in nameList) {
        console.log(key+nameList[key])
    }
    /**
    0胡八一
    1王凯旋
    2雪莉·杨
    lastName金爷
    */
    // for of
    for (var key of nameList) {
        console.log(key)
    }
    /**
    胡八一
    王凯旋
    雪莉·杨
    */
    
  • 相关阅读:
    自动生成接口文档
    Haystack全文搜索
    redis操作
    缓存及跨域问题
    url控制器、解析器、响应器、分页器
    频率组件
    序列化、认证、权限、视图回顾
    认证、权限、视图组件
    序列化组件
    Rest Framework
  • 原文地址:https://www.cnblogs.com/dzyany/p/15369994.html
Copyright © 2011-2022 走看看