ES6 擴充套件運算子的應用

2021-08-18 16:03:31 字數 1376 閱讀 4929

(1)複製陣列

陣列是復合的資料型別,直接複製的話,只是複製了指向底層資料結構的指標,而不是轉殖乙個全新的陣列。

//複製陣列

const a1 = [1,2];

const a2 = a1;

a2[0] = 3;

console.log(a1); //[3,2]

上面**中,a2並不是a1的轉殖,而是指向同乙份資料的另乙個指標。修改a2,會直接導致a1的變化。

es5 只能用變通方法來複製陣列

//es5 只能用變通方法來複製陣列

const a3 = [1,2];

const a4 = a3.concat(); //concat() 方法用於連線兩個或多個陣列。該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。

a4[0] = 4;

console.log(a3); //[1,2]

console.log(a4); //[4,2]

上面**中,a1會返回原陣列的轉殖,再修改a2就不會對a1產生影響。

es6擴充套件運算子提供了複製陣列的簡寫方法

const a5 = [1,2];

//寫法1

const a6 = [...a5];

console.log(a6); //[1,2]

a6[0] = 3;

console.log(a6); //[3,2];

console.log(a5); //[1,2]

//寫法2

const [...a6] = a5;

console.log(a6); //[1,2];

a6[0] = 4;

console.log(a6); //[4,2]

console.log(a5); //[1,2]

(2)合併陣列

擴充套件運算子提供了陣列合併的新寫法。

//es5方式

var arr1 = [1,2];

var arr2 = [3,4];

console.log(arr1.concat(arr2)); //[1,2,3,4]

//es6方式

let arr3 = [1,2];

let arr4 = [3,4];

console.log([...arr3,...arr4]); //[1,2,3,4]

ES6擴充套件運算子 的應用

es6 擴充套件運算子 可以將陣列或物件拆分成以逗號分隔的引數序列 方法一 常用 let ary1 1 2,3 let ary2 3 4,5 let ary3 ary1,ary2 console.log ary3 1,2,3,3,4,5 方法二 let ary1 1 2,3 let ary2 3 4...

ES6 擴充套件運算子

擴充套件運算子用3個點表示,功能是把陣列或者類陣列物件展開成一系列用逗號隔開的值 1,陣列 let arr red green blue console.log arr red,green,blue拷貝陣列 和object.assign一樣都是淺拷貝 let arr red green blue l...

ES6擴充套件運算子

首先,我們要讀仔細下面這句話,就很容易知道擴充套件運算子的使用了,可以在心裡反覆讀三遍 接下來,我們看下究竟怎麼個情況 宣告乙個方法 var foo function a,b,c console.log a console.log b console.log c 宣告乙個陣列 var arr 1,2...