經常遇到對陣列的操作…下面是《es6標準入門》(第3版)中對陣列擴充套件的(部分)描述:
擴充套件運算子(…):
console.log(...[1,2,3])
// 1 2 3
console.log(1, ... [2,3,4], 5)
// 1 2 3 4 5
// es5
function f(x,y,z)
var args = [1,2,3];
// es6
function f(x,y,z)
var args = [0,1,2]
f(...args);
// 可見,呼叫更清晰
math.max
// es5
// es6
math.max(...[14, 3, 77])
// 等同於
math.max(14, 3, 77)
合併陣列:
// es5
var arr1 = [0,1,2];
var arr2 = [3,4,5];
// es6
const arr1 = [0,1,2];
const arr2 = [3,4,5];
arr1.push(...arr2);
與解構賦值結合使用:
// es5
a = list[0], rest = list.slice(1)
// es6
[a, ...rest] = list
將字串轉換成真正的陣列:
const str = 'hello';
const arr = [...str];
map
const map = new map([
[1, 'one'],
[2, 'two'],
[3, 'three']
])const keys = [...map.keys()]; // [1, 2, 3]
const values = [...map.values()]; // ["one", "two", "three"]
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 陣列的擴充套件
擴充套件運算子 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 寫法二 ...