11、 js - 数组/对象解构

文章介绍了JavaScript中的解构赋值语法,包括数组和对象的解构。通过示例展示了如何交换变量值、处理多余变量、获取剩余参数以及按需忽略数组中的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组/对象解构

    // 数组的解构
    const arr1 = [1, 2, 3];
    let [a, b, c] = arr;
    console.log(a, b, c); // 1  3  5

    // 对象的解构
    const obj = {
        name: 'hello',
        age: 12
    }
    let { name, age } = obj;
    console.log(name, age); // hello 12

拓展:数组的解构

    // 1、交换x和y的值
    let [x, y] = [10, 20];
    // 注意⚠️:let [x, y] = [10, 20];一定要写分号,否则会报错 Uncaught ReferenceError: Cannot access 'x' before initialization
    // 这是因为js中,一般()和[]后一定要加分号,特别是与别人一起开发时,避免引起不必要的错误
    // 分号也可以加在自己写的代码的前面,如 ;[x, y] = [y, x]  这样不管别人写的代码有没有加分号,都不会错
    [x, y] = [y, x];
    console.log(x, y); // 20 10


    // 2、变量多,值少
    const [a1, b1, c1] = ["vite", "pinia"];
    console.log(a1); // vite
    console.log(b1); // pinia
    console.log(c1); // undefined

    // 解决方案:给多出的变量赋予初始值
    const [a2, b2, c2 = "dou"] = ["vite", "pinia"];
    console.log(a2); // vite
    console.log(b2); // pinia
    console.log(c2); // dou


    // 3、变量少,值多
    // 解决方案:使用剩余参数
    const [a3, ...b3] = ["vite", "pinia", "ts"];
    console.log(a3); // vite
    console.log(b3); // ['pinia', 'ts']


    // 4、按需要导入,忽略某些值
    const [a4, , c4] = ["vite", "pinia", "ts"];
    // 忽略b4
    console.log(a4);  // vite
    console.log(c4);  // ts
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值