美文网首页
xue稍聊一聊js数组的各类操作

xue稍聊一聊js数组的各类操作

作者: 忧郁的胡渣 | 来源:发表于2020-07-10 16:38 被阅读0次

    日常学习之——数组的操作。

    先贴一张图:

    image.png

    初始变量值:

    const arr = [1,2,3,4,5,6]
    

    先来介绍数组遍历的同学

    1. js诞生之初就有了的for循环
    // 支持 continue 
    // 下面遇到4不做任何操作继续往下执行;
    for (let i = 0, len = arr.length; i < len; i++) {
        if (arr[i] == 4) {
            continue;
        }
        console.log(arr[i]) // 1 2 3 5 6
    }
    // 支持 brealk
    // 下面遇到4调出循环,不再往下执行;
    for (let i = 0, len = arr.length; i < len; i++) {
        if (arr[i] == 4) {
            continue;
        }
        console.log(arr[i]) // 1 2 3
    }
    
    2. 适合遍历伪数组和对象的 for in
    // for in遍历的是数组的索引(即键名)、以及伪数组
    // ps:伪数组的定义:1.不具有数组所具有的方法; 2.拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)
    for (let key in arr) {
        console.log(key, arr[key])
        /*
        '0' 1
        '1' 2
        '2' 3
        '3' 4
        '4' 5
        '5' 6
        */
    }
    
    3. 适合遍历拥有迭代器对象的集合的 for of
    // for of 适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象.与forEach()不同的是,它可以正确响应break、continue和return语句
    // for of 循环不支持普通对象,但如果你想迭代一个对象的属性,你可以用for-in循环(这也是它的本职工作)或内建的Object.keys()方法:
    for (let key of arr) {
        // if (key == 2) {
        //     break;
        // }
        // if (key == 3) {
        //     continue;
        // }
        console.log(key) // 1 2 3 4 5 6
    }
    
    4.单纯的遍历forEach()
     // 既不能使用 break 也不能使用continue 还不能使用 return 
    // forEach('每次循环的值','每次循环的位置','数组本身')
    arr.forEach((item, index, arr) => {
        console.log(item) // 1 2 3 4 5 6 
    })
    

    持续更新中……

    相关文章

      网友评论

          本文标题:xue稍聊一聊js数组的各类操作

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