es6數(shù)組中可不可以用展開符

這篇文章主要講解了“es6數(shù)組中可不可以用展開符”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“es6數(shù)組中可不可以用展開符”吧!

我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、茂南ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的茂南網(wǎng)站制作公司

es6數(shù)組可以用展開符。展開符“...”會將可迭代對象展開到其單獨(dú)的元素中,而所謂的可迭代對象就是任何能用“for of”循環(huán)進(jìn)行遍歷的對象,例如數(shù)組、字符串、Map 、Set;當(dāng)展開符用于數(shù)組,可以將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。

展開符(擴(kuò)展操作符) 是ES6中引入的,將可迭代對象展開到其單獨(dú)的元素中,所謂的可迭代對象就是任何能用for of循環(huán)進(jìn)行遍歷的對象,例如:數(shù)組、字符串、Map 、Set 、DOM節(jié)點(diǎn)等。

展開運(yùn)算符(spread operator)允許一個表達(dá)式在某處展開。展開運(yùn)算符在多個參數(shù)(用于函數(shù)調(diào)用)或多個元素(用于數(shù)組字面量)或者多個變量(用于解構(gòu)賦值)的地方可以使用。

es6展開符的使用(數(shù)組方面)

1、復(fù)制數(shù)組

給定一個數(shù)組,想要將一個數(shù)組的成員復(fù)制到另一個數(shù)組中,該怎么做?

const a = [1, 2];
const b = a;
console.log(b); // [1, 2]

真有表面上這么簡單嗎?試著修改一下a數(shù)組中的值

a[0] = 3;
console.log(b); // [3, 2]

誒?怎么我修改了a數(shù)組中的值,結(jié)果b數(shù)組中的值也變了?這里涉及到的是堆棧的原理,就不具體展開說了,你只需要知道簡單地使用兩邊相等的方式是不能完成數(shù)組的復(fù)制的,這里使用展開運(yùn)算符就可以完成啦?

const a = [1, 2];
const c = [...a];
console.log(c); // [1, 2]
a[0] = 3;
console.log(c); // [1, 2]

2、合并數(shù)組

const a = [1, 2];
const b = [3];
const c = [4, 5];

console.log([...a, ...b, ...c]); // [1, 2, 3, 4, 5]
console.log([...c, ...a, ...b]); // [4, 5, 1, 2, 3]
console.log([99, ...a, 24, ...b, ...c]); // [99, 1, 2, 24, 3, 4, 5]

3、字符串轉(zhuǎn)為數(shù)組

前置知識:字符串可以按照數(shù)組的形式展開?

const name = 'Jae';
console.log(...name); // J a e

字符串轉(zhuǎn)數(shù)組除了用 split() 方法,也可以用展開運(yùn)算符?

const name = 'Jae';
const name_string = [...name];
console.log(name_string); // ["J", "a", "e"]

4、常見的類數(shù)組轉(zhuǎn)化為數(shù)組

為什么要將類數(shù)組轉(zhuǎn)化為數(shù)組呢?因?yàn)轭悢?shù)組不能使用數(shù)組的方法,將其轉(zhuǎn)化過來對于一些對數(shù)據(jù)進(jìn)行處理的需求就更加方便了 ~

  • arguments

function func() {
	console.log(arguments);
}
func(1, 2); // Arguments(2) [1, 2, callee: ?, Symbol(Symbol.iterator): ?]

// 使用展開遠(yuǎn)算符
function func() {
	console.log([...arguments]);
}
func(1, 2); // [1, 2]

  • NodeList

<!--HTML代碼-->
<p>1</p>
<p>2</p>
<p>3</p>
const a = document.querySelectAll("p");
console.log(a); // NodeList(3) [p, p, p]
console.log([...a]); // [p, p, p]

感謝各位的閱讀,以上就是“es6數(shù)組中可不可以用展開符”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對es6數(shù)組中可不可以用展開符這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

新聞名稱:es6數(shù)組中可不可以用展開符
轉(zhuǎn)載來于:http://bm7419.com/article18/jcshgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站制作、ChatGPT、全網(wǎng)營銷推廣、做網(wǎng)站、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)