擴充套件運算子(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...