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.pswp.cn/news/36362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36362.shtml
英文地址,請注明出處:http://en.pswp.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;解碼能力和編碼…