zoukankan      html  css  js  c++  java
  • JS中for in 与 for of

    // 数组
    var
    A=[4,6,74,67];

    for in:拿到的是数组下标

    for (let i in A){
    console.log(i);
    }

    //0,1,2,3

    for of:拿到的是数组元素

    for (let i of A){
    console.log(i);
    }

    字符串

    var str="hellllo world";

    for in:拿到的是字符串下标

    for (let i in str){
        console.log(i)
    }
    //0 1 2 3 4 5 6 7 8 9 10 11 12

    for of:拿到的是字符串中的字符

    for (let i of str){
        console.log(i);
    }
    //  h e l l l l o   w o r l d

    set 和 map:不能使用for in  (没有下标)

    可以使用for of (可迭代对象)

    var s=new Set([1,3,6,5,4,3]);
    for (let i of s){
        console.log(i);
    }

    // 1 3 6 5 4 

    let map = new Map([["name","nick"],["age",25]]);
    //Map(2) {"name" => "nick", "age" => 25}
    for (let i of map){
        console.log(i);
    }
    // ["name", "nick"]
    // ["age", 25]

     对象不是可迭代对象,所以不能对其使用for of

    var obj={
        name:'alex',
        age:20
    };

    但可以使用for in:拿到的是对象的属性名

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

     获取对象的属性名

    方法二:Object.keys(obj)

    Object.keys(obj).forEach(item => {
        console.log(item);
    });
  • 相关阅读:
    POJ2774 Long Long Message
    Lyndon Word相关
    后缀自动机(SAM)
    后缀数组(SA)
    [THUSC2016]补退选
    [HNOI2008]GT考试
    CF1080E Sonya and Matrix Beauty
    [JSOI2008]火星人
    两道FFT题目略解
    网络流概念+EdmondKarp算法+Dinic(Dinitz)
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/10677678.html
Copyright © 2011-2022 走看看