解构赋值

59 阅读1分钟

🎈 数组解构

数组解构是将数组的单元值一一赋值给变量;
    let arr = [1, 2, 3, 4]
    let [a, b, c] = arr
    // 使用解构交换两个变量的值
    let a = 1
    let b = 2
    ;[b, a] = [a, b] // 注意加分号
    // 1.单元值少,变量多
    const [a, b, c] = [1, 2]
    
    // 2.单元值多,变量少
    const [a, b, ...arr] = [1, 2, 3, 4]
    
    // 3.防止undefined传递,可以添加默认值
    const [a = 0, b = 0] = [1]
    
    // 4.按需导入赋值
    const [a, , b, c] = [1, 2, 3, 4]

🎆 对象解构

对象解构是将属性和方法快速批量赋值给变量;
    // 属性名和变量名一致
    const {uname, age} = {uname: 'tom', age: 18}
    
    // 变量名可以重新改名
    const {uname: username, age} = {uname: 'tom', age: 18}
    // 数组对象解构
    const arr = [
        {
            uname: 'tom',
            age: 18
        }
    ]
    const [{uname, age}] = arr
    // 多级对象解构
    const obj = {
        uname: 'tom',
        obj2: {
            a: 1,
            b: 2
        },
        age: 18
    }
    const {uname, obj2: {a, b}, age} = obj

forEach遍历数组

    // forEach只用来遍历
    const arr = ['red', 'green', 'blue']
    arr.forEach((item, index) => {
        console.log(item, index)
    })

🎃 filter筛选数组

    const arr = [1, 2, 3, 4, 5]
    let arr2 = arr.filter(function(item, index) {
        return item > 1
    })

🎇🎉🎊🧨