当前位置: 首页 > news >正文

3.解构赋值

解构赋值是一种快速为变量赋值的简洁语法,本质上仍然是为变量赋值。

3.1数组解构

数组解构是 将数组的单元值快速批量赋值给一系列变量 的简洁语法

1.基本语法:
(1)赋值运算符=左侧的[ ]用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量
(2)变量的顺序对应数组单元值的位置依次进行赋值操作
在这里插入图片描述
基本语法:典型应用交互2个变量
在这里插入图片描述
在这里插入图片描述
2.(1)变量多单元值少:
在这里插入图片描述
变量的数量大于单元值数量时,多余的变量将被赋值为undefined

(2)变量少单元值多

3.利用剩余参数解决变量少单元值多的情况:
在这里插入图片描述
4.防止有undefined传递单元值的情况,可以设置默认值:
在这里插入图片描述
允许初始化变量的默认值,且只有单元值为undefined时默认值才会生效

5.按需导入,忽略某些返回值:
在这里插入图片描述
6.支持多维数组的结构:
在这里插入图片描述

3.2对象解构

对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法

一、基本语法
1.赋值运算符 = 左侧的{ }用于批量声明变量,右侧对象的属性值将被赋值给左侧的变量
2.对象属性的值将被赋值给与其属性名相同的变量
3.注意解构的变量名不要和外面的变量名冲突否则报错
4.对象中找不到与变量名一致的属性时变量值为undefined
【例如】

<script>const obj = {uname: 'Kai',age: 18}// 解构的语法const { uname, age } = objconsole.log(uname) // Kaiconsole.log(age) // 18
</script>

二、给新的变量名赋值
可以从一个对象中提取变量并同时修改新的变量名
在这里插入图片描述
冒号表示 “什么值:赋值给谁”

三、数组对象解构
在这里插入图片描述
四、多级对象解构
在这里插入图片描述

3.3遍历数组forEach方法(重点)

forEach()方法用于调用数组的每个元素,并将元素传递给回调函数
●主要使用场景: 遍历数组的每个元素
●语法:

被遍历的数组.forEach(function (当前数组元素,当前元素索引号) {// 函数体
})

【例如】

const arr = ['red', 'blue', 'pink']
arr.forEach(function (item, index) {console.log(item) // 依次打印数组每一个元素console.log(index) // 索引号
})

注意:
1.forEach主要是遍历数组,更适合于遍历数组对象
2.参数 当前数组元素是必须要写的,索引号可选

3.4筛选数组filter 方法(重点)

filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
●主要使用场景: 筛选数组符合条件的元素,并返回筛选之后元素的新数组
●语法:
在这里插入图片描述
【例如】

<script>// 筛选数组中大于等于20的元素const arr = [10, 20, 30]const str = arr.filter(function (item, index) {return item >= 20})// const str = arr.filter(item => item >= 20)console.log(str)  // [20,30]
</script>

●返回值:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组
●参数: item 必须写,index 可选
●因为返回新数组,所以不会影响原数组

相关文章:

3.解构赋值

解构赋值是一种快速为变量赋值的简洁语法&#xff0c;本质上仍然是为变量赋值。 3.1数组解构 数组解构是 将数组的单元值快速批量赋值给一系列变量 的简洁语法 1.基本语法: &#xff08;1&#xff09;赋值运算符左侧的[ ]用于批量声明变量&#xff0c;右侧数组的单元值将被赋…...

ChatGPT在智能游戏和游戏AI中的应用如何?

ChatGPT在智能游戏和游戏AI领域具有广泛的应用潜力&#xff0c;可以为游戏体验增添智能和交互性&#xff0c;同时也有助于游戏开发者创造更丰富、更引人入胜的游戏内容。以下将详细探讨ChatGPT在智能游戏和游戏AI中的应用。 ## 1. 游戏角色的智能化 在角色扮演游戏&#xff0…...

【安卓串口通信】

安卓串口通信需要使用到串口适配器和USB OTG线。首先需要在Android设备上安装串口调试助手或其他支持串口通信的应用程序。然后将串口适配器连接到Android设备&#xff0c;使用USB OTG线连接即可。 接下来&#xff0c;您需要打开串口调试助手或其他应用程序&#xff0c…...

电气测试相关

项目&#xff1a; 长期过电压 瞬态过电压 瞬态欠压 跳跃启动 卸载 纹波电压 电源电压缓慢下降和上升 电源电压缓慢下降、快速上升 复位行为 短暂中断 启动脉冲 带电气系统控制的电压曲线 引脚中断 连接器中断 反极性 信号线和负载电路短路 启动行为 对分流不…...

ProsperEx 的野望:借势 RWA 浪潮,构建全新的链上衍生品体系

真实资产代币化&#xff08;RWA&#xff09;并不是一个新概念了&#xff0c;以 USDT、USDC、DAI 等一系列美元稳定币是行业内最早的 RWA 概念资产&#xff0c;这些资产以美元为价值基础通过不同信用的机制&#xff0c;将其价值映射至链上&#xff0c;并以加密货币的形式体现&am…...

Spring Data JPA 详解

目录 一、概述1.1 JPA简介1.2 Spring Data JPA简介 二、配置及应用2.1 环境配置2.2 依赖添加2.3 实体类创建2.4 Repository接口创建2.5 示例程序运行 三、实体映射3.1 注解3.2 关系映射 四、Repository接口4.1 基本增删改查4.2 自定义查询方法4.3 使用 Sort 和 Pageable 进行排…...

NZ系列工具NZ02:VBA读取PDF使用说明

【分享成果&#xff0c;随喜正能量】时光绽放并蒂莲&#xff0c;更是一份殷殷嘱托&#xff0c;更是一份诚挚祝福&#xff0c;是一份时光馈赠&#xff0c;又是一份时光陪伴。。 我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解…...

Autocasting和GradScaler

Autocasting和GradScaler是什么 torch.autocast 是一个上下文管理器&#xff0c;它可以将数据类型从 float32 自动转换为 float16。这可以提高性能&#xff0c;因为 float16 比 float32 更小&#xff0c;因此可以更快地处理。torch.cuda.amp.GradScaler 是一个类&#xff0c;它…...

头条移动端项目Day03 —— 自媒体素材管理、自媒体文章管理、自媒体文章发布

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…...

【ARM 嵌入式 编译系列 9-- GCC 编译符号表(Symbol Table)的详细介绍】

文章目录 什么是符号表符号表的作用是什么如何生成符号表符号表中的数据类型有哪些&#xff1f;符号表与map文件什么关系&#xff1f; 上篇文章&#xff1a;ARM 嵌入式 番外篇 编译系列 8 – RT-Thread 编译命令 Scons 详细讲解 什么是符号表 在 ARM GCC 中&#xff0c;符号表…...

Apache Doris 入门教程27:BITMAP精准去重和HLL近似去重

BITMAP 精准去重 背景​ Doris原有的Bitmap聚合函数设计比较通用&#xff0c;但对亿级别以上bitmap大基数的交并集计算性能较差。排查后端be的bitmap聚合函数逻辑&#xff0c;发现主要有两个原因。一是当bitmap基数较大时&#xff0c;如bitmap大小超过1g&#xff0c;网络/磁盘…...

bug总结

bug总是意外的出现&#xff0c;对于语法问题导致的bug是容易排查的&#xff0c;对于逻辑的bug和环境的bug往往令人头疼。在这里&#xff0c;将这些收集起来。、 【1-8来自对博客认输了&#xff01;这些Bug让我目瞪口呆&#xff01;_电脑放青藏高原共振是真的?_Truda.的博客-C…...

DC电源模块的高转换率

BOSHIDA DC电源模块的高转换率 DC电源模块是将交流电转换为直流电供应设备使用的装置&#xff0c;是现代工业制造和电子产品中不可或缺的组件之一。高转换率是DC电源模块最重要的性能之一&#xff0c;它直接影响着电源的效率、功耗和发热等方面&#xff0c;因此也深受设计师的关…...

用于网页抓取的最佳 Python 库

探索一系列用于网页抓取的强大 Python 库&#xff0c;包括用于 HTTP 请求、解析 HTML/XML 和自动浏览的库。 网络抓取已成为当今数据驱动世界中不可或缺的工具。Python 是最流行的抓取语言之一&#xff0c;拥有一个由强大的库和框架组成的庞大生态系统。在本文中&#xff0c;我…...

异步回调中axios,ajax,promise,cors详解区分

Ajax、Promise和Axios之间的关系是&#xff0c;它们都是用于在Web应用程序中发送异步HTTP请求的JavaScript库&#xff0c;但它们有不同的实现方式和用法。 Ajax是一种旧的技术&#xff0c;使用XMLHttpRequest对象来向服务器发送异步请求并获取响应。它通常需要手动编写回调函数…...

IoTDB原理剖析

一、介绍 IoTDB&#xff08;物联网数据库&#xff09;是一体化收集、存储、管理与分析物联网时序数据的软件系统。 Apache IoTDB采用轻量式架构&#xff0c;具有高性能和丰富的功能。 IoTDB从存储上对时间序列进行排序&#xff0c;索引和chunk块存储&#xff0c;大大的提升时序…...

中国1990-2021连续30年土地利用数据CLCD介绍及下载

CLCD数据介绍 CLCD(China Land Cover Dataset)数据集由武汉大学黄昕老师公布,黄昕老师基于Google Earth Engine上335,709景Landsat数据,制作中国年度土地覆盖数据集(annual China Land Cover Dataset, CLCD),包含1985+1990—2020中国逐年土地覆盖信息。 为此,黄昕老师…...

Tubi 前端测试:迁移 Enzyme 到 React Testing Library

前端技术发展迅速&#xff0c;即便不说是日新月异&#xff0c;每年也都推出新框架和新技术。Tubi 的产品前端代码仓库始建于 2015 年&#xff0c;至今 8 年有余。可喜的是&#xff0c;多年来紧随 React 社区的发展&#xff0c;Tubi 绝大多数的基础框架选型都遵循了社区流行的最…...

Chrome

Chrome 简介下载 简介 Chrome 是由 Google 开发的一款流行的网络浏览器。它以其快速的性能、强大的功能和用户友好的界面而闻名&#xff0c;并且在全球范围内被广泛使用。Chrome 支持多种操作系统&#xff0c;包括 Windows、macOS、Linux 和移动平台。 Chrome官网: https://ww…...

零代码编程:用ChatGPT批量删除Excel文件中的行

文件夹中有上百个Excel文件&#xff0c;每个文件中都有如下所示的两行&#xff0c;要进行批量删除。 在ChatGPT中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个处理Excel文件内容的任务&#xff0c;具体步骤如下&#xff1a; 打开F盘的文件夹&#x…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...