美文网首页
for in 和 for of

for in 和 for of

作者: 回不去的那些时光 | 来源:发表于2022-08-03 13:32 被阅读0次

    for in 和 for of的区别

    • for in 遍历得到 key
    // 遍历数组
    const arr = ["aa", "bb", "cc"];
    for(let key in arr) {
        console.log(key);  // 0 1 2
    }
    
    // 遍历对象
    const obj = {name: "dj", age: 20};
    for(let item in obj) {
        console.log(item);  // name age
    }
    
    • for of 遍历得到 value
    // 遍历数组
    const arr = ["aa", "bb", "cc"];
    for(let value of arr) {
        console.log(value); // aa bb cc
    }
    
    // 遍历字符串
    const str = "abc";
    for(let i of str) {
        console.log(i); // a b c
    }
    
    // 遍历参数
    function fn() {
        for(let arg of arguments) {
            console.log(arg); // a b c
        }
    }
    fn("a", "b", "c");
    
    // 遍历dom节点
    const domList = document.querySelectorAll("p");
    for(let dom of domList) {
        console.log(dom); // p p p
    }
    
    // 遍历 set
    const set = new Set([10, 20, 30]);
    for(let s of set) {
        console.log(s); // 10 20 30
    }
    
    // 遍历 map
    const map = new Map([
        ['x', 100],
        ['y', 200],
    ])
    for(let m of map) {
        console.log(m); // ['x', 100]    ['y', 200]
    }
    
    // 遍历 generator
    const map = new Map([
        ['x', 100],
        ['y', 200],
    ])
    for(let m of map) {
        console.log(m); // ['x', 100]    ['y', 200]
    }
    

    使用与不同的数据类型

    • 遍历对象
      for in 可以,for of 不可以
    • 遍历 Map Set
      for of 可以,for in 不可以
    • 遍历 generator
      for of 可以,for in 不可以

    可枚举 vs 可迭代

    • for in 用于可枚举的数据,如数组、对象、字符串
    • for of 用于可迭代的数据,如数组、字符串、Map、Set

    相关文章

      网友评论

          本文标题:for in 和 for of

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