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 可选
●因为返回新数组,所以不会影响原数组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前后端分离------后端创建笔记(04)前后端对接

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

【JavaEE进阶】Bean 作用域和生命周期

文章目录 一. 关于Bean作用域的实例1. lombok2. 实例代码 二. 作用域定义1. Bean的六种作用域2. 设置作用域 三. Spring 执行流程和 Bean 的生命周期1. Spring 执行流程2. Bean生命周期 一. 关于Bean作用域的实例 注意在此例子中需要用到lombok 1. lombok lombok是什么? Lo…

【C#】判断打印机共享状态

打印机共享状态 /// <summary>/// 打印机共享状态/// </summary>public enum PrinterShareState{/// <summary>/// 无打印机/// </summary>None -1,/// <summary>/// 未共享/// </summary>NotShare 0,/// <summary>/// 已共享/// …

soap通信2

首先&#xff0c;定义一个XSD&#xff08;XML Schema Definition&#xff09;来描述你的数据结构。在你的Maven项目的src/main/resources目录下&#xff0c;创建一个名为schemas的文件夹&#xff0c;并在其中创建一个名为scriptService.xsd的文件&#xff0c;内容如下&#xff…

【kubernetes】调度约束

目录 调度约束 Pod 启动典型创建过程如下 调度过程 指定调度节点 查看详细事件&#xff08;发现未经过 scheduler 调度分配&#xff09; 获取标签帮助 需要获取 node 上的 NAME 名称 给对应的 node 设置标签分别为 ggls 和 gglm 查看标签 修改成 nodeSelector 调度方…

vue学习笔记

1.官网 v2官网 https://v2.cn.vuejs.org/ v3官网 https://cn.vuejs.org/ 2.vue引入 在线引入 <script src"https://cdn.jsdelivr.net/npm/vue2.7.14/dist/vue.js"></script> 下载引入(下载链接) https://v2.cn.vuejs.org/js/vue.js 3.初始化渲…

Redis——通用命令介绍

Redis官方文档 redis官方文档 核心命令 set 将key和value存储到Redis中&#xff0c;key和value都是字符串 set key valueRedis中不区分大小写&#xff0c;字符串类型也不需要添加单引号或者双引号 get 根据key读取value&#xff0c;如果当前key不存在&#xff0c;则返回…

Offset Explorer

Offset Explorer 简介下载安装 简介 Offset Explorer&#xff08;以前称为Kafka Tool&#xff09;是一个用于管理和使Apache Kafka 集群的GUI应用程序。它提供了一个直观的UI&#xff0c;允许人们快速查看Kafka集群中的对象以及存储在集群主题中的消息。它包含面向开发人员和管…

RANSAC算法

RANSAC简介 RANSAC(RAndom SAmple Consensus,随机采样一致)算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法。 “外点”一般指的的数据中的噪声&#xff0c;比如说匹配中的误匹配和估计曲线中的离群点。所以&#xff0c;RANSAC也是一种“外点”检…

若依-plus-vue启动显示Redis连接错误

用的Redis是windows版本&#xff0c;6.2.6 报错的主要信息如下&#xff1a; Failed to instantiate [org.redisson.api.RedissonClient]: Factory method redisson threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect t…

基于epoll的TCP服务器端(C++)

网络编程——C实现socket通信(TCP)高并发之epoll模式_tcp通信c 多客户端epoll_n大橘为重n的博客-CSDN博客 网络编程——C实现socket通信(TCP)高并发之select模式_n大橘为重n的博客-CSDN博客 server.cpp #include <stdio.h> #include <sys/types.h> #include <…

Coin Change

一、题目 Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money. For example, if we have 11 cents, then we can make changes with one 10-cent coin and one 1-c…

springboot工程使用阿里云OSS传输文件

在application.yml文件中引入对应的配置&#xff0c;一个是对应的节点&#xff0c;两个是密钥和账号&#xff0c;还有一个是对应文件的名称&#xff1b; 采用这样方式进行解耦&#xff0c;便于后期修改。 然后需要设置一个properties类&#xff0c;去读对应的配置信息 用到了…

MySQL Linux自建环境备份至远端服务器自定义保留天数

环境准备 linux下安装mysql请看 Linux环境安装单节点mysql8.0.16 系统版本: CentOS 7 软件版本: mysql8.0.16 备份策略与实现方法 此次备份依赖mysql自带命令mysqldump与linux下crontab命令(定时任务) mysqldump mysqldump客户实用程序执行 逻辑备份,产生一组能够被执行…

为什么需要知识图谱,如何构建它?

从关系数据库迁移到图形数据库的指南 跟随 发表于 迈向数据科学 7 分钟阅读 4天前 154 4 一、说明 TLDR&#xff1a;知识图谱在图数据库中组织事件、人员、资源和文档&#xff0c;以进行高级分析。本文将解释知识图谱的用途&#xff0c;并向您展示如何将关系数据模型转换为图…

HTTP协议的发展过程

前言 HTTP协议是一种用于在网络上传输信息的应用层协议&#xff0c;它为万维网的运作提供了基础。 最早的版本是HTTP/0.9&#xff0c;它是HTTP协议的第一个版本&#xff0c;诞生于1991年&#xff0c;其设计初衷是为了在计算机之间传输简单的超文本文档&#xff0c;即HTML。 在…

在Java中对XML的简单应用

XML 数据传输格式1 XML 概述1.1 什么是 XML1.2 XML 与 HTML 的主要差异1.3 XML 不是对 HTML 的替代 2 XML 语法2.1 基本语法2.2 快速入门2.3 组成部分2.3.1 文档声明格式属性 2.3.2 指令&#xff08;了解&#xff09;&#xff1a;结合CSS2.3.3 元素2.3.4 属性**XML 元素 vs. 属…

【Linux】Linux中获取UUID的方法

1、从mmc块设备获取 在Linux下,获取MMC的CID(Card Identification,识别ID) cat /sys/block/mmcblk0/device/cidMMC CID组成 MID: [127:120] —— 8bit(1Byte)Manufacturer ID,由MMCA分配,比如Sandisk为0x02,Kingston为0x37,Samsung为0x15。OID: [119:104] —— 16b…

windows程序基础

一、windows程序基础 1. Windows程序的特点 1&#xff09;用户界面统一、友好 2&#xff09;支持多任务:允许用户同时运行多个应用程序(窗口) 3&#xff09;独立于设备的图形操作 使用图形设备接口( GDI, Graphics Device Interface )屏蔽了不同硬件设备的差异&#…

什么是视频的编码和解码

这段描述中&#xff0c;视频解码能力和视频编码能力指的是不同的处理过程。视频解码是将压缩过的视频数据解开并还原为可播放的视频流&#xff0c;而视频编码是将原始视频数据压缩成更小的尺寸&#xff0c;以减少存储空间和传输带宽。在这个上下文中&#xff0c;解码能力和编码…