ES6 陣列的擴充套件

2021-09-07 19:05:23 字數 1405 閱讀 8882

擴充套件運算子(spread)是三個點(...)。它好比 rest 引數的逆運算,將乙個陣列轉為用逗號分隔的引數序列。

console.log(...[1,2,3]);

console.log(1,2,3);

console.log(1,...[2,3,4],5);

轉殖陣列

const a1 = [1, 2];

// 寫法一

const a2 = [...a1];

// 寫法二

const [...a2] = a1;

合併陣列

const arr1 = ['a', 'b'];

const arr2 = ['c'];

const arr3 = ['d', 'e'];

// es5 的合併陣列

arr1.concat(arr2, arr3);

// [ 'a', 'b', 'c', 'd', 'e' ]

// es6 的合併陣列

[...arr1, ...arr2, ...arr3]

// [ 'a', 'b', 'c', 'd', 'e' ]

解構賦值

const [first, ...rest] = [1, 2, 3, 4, 5];

first // 1

rest // [2, 3, 4, 5]

const [first, ...rest] = ;

first // undefined

rest //

const [first, ...rest] = ["foo"];

first // "foo"

rest //

array.of 方法用於將一組值,轉換為陣列。

array.of(3, 11, 8) // [3,11,8]

array.of(3) // [3]

array.of(3).length // 1

陣列例項的 includes()

[1, 2, 3].includes(2)     // true

[1, 2, 3].includes(4) // false

[1, 2, nan].includes(nan) // true

該方法的第二個引數表示搜尋的起始位置,預設為0。如果第二個引數為負數,則表示倒數的位置,如果這時它大於陣列長度(比如第二個引數為-4,但陣列長度為3),則會重置為從0開始。

[1, 2, 3].includes(3, 3);  // false

[1, 2, 3].includes(3, -1); // true

Es6陣列擴充套件

示例 es5和es6的擴充套件運算子區別 let arr 1,2,3 function add a,b,c es5 es6 add arr 6 複製陣列 let arr 1,2,3 es5 let arr3 arr.concat 4 es6 let arr3 arr,4 console.log ar...

ES6陣列擴充套件

陣列建構函式的靜態方法。靜態方法 把函式當物件處理 key對應的value是函式 我們就說這個方法是靜態方法 否則就是靜態屬性 array.f 1 console.log array.f 靜態屬性 array.fn function array.fn 靜態方法array.from方法用於將兩類物件轉...

ES6陣列的擴充套件

function f v,w,x,y,z const args 0,1 f 1,args,2,3 es5 的寫法 es6 的寫法 math.max 14,3,77 求最大值2 作用 求最大值 拼接陣列 複製陣列 a2複製a1,改a2不改變a1 合併陣列 將字串轉化為真正的陣列 let arrayli...