Es6陣列擴充套件

2021-10-23 17:53:00 字數 2306 閱讀 4395

示例

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(arr2);

console.log(arr3);

合併陣列

let arr = [1,2,3];

let arr2 = [4,5,6]

//es5

let arr3 = arr.concat(arr2);

//es6

let arr4 = [...arr,...arr2];

console.log(arr3);

console.log(arr4);

這兩種

方法是淺

拷貝\color

這兩種方法是

淺拷貝如果修改了陣列的值被複製或者複製的新陣列都會一同改變

array.from()用於將偽陣列或者可遍歷的物件轉化成真正的陣列

let arr = ;//偽陣列

//es5

let newarr1=.slice.call(arr);

//es6

let newarr2 = array.from(arr);

console.log(newarr1);

console.log(newarr2);

這裡科普一下sli

ce\color

slice方法

s li

ce\color

slic

e方法用於提取陣列某個部分

定義:sli

ce(s

tart

,end

)\color

slice(

star

t,en

d)start(提取元素包含開始元素)表示提取的開始位置

end(提取元素不含結束元素)表示提取的結束的位置

這兩個值均可指定負數表示從倒數開始提取

如果兩個引數都未指定返回整個數

組\color

陣列

let arr2 = [1,2,3,4,5];

console.log(arr2.slice(1,3)); //從陣列下標1開始提取到3但是不包含3

console.log(arr2.slice(-2,-1));//從倒數第二個開始提取到 倒數第乙個 不包含倒數第乙個

console.log(arr2.slice()); //返回整個陣列

結果:

將指定陣列元素複製到其他位置

array.prototype.copywithin(target, start = 0, end = this.length)

var arr2 = [1,2,3,4,5];

console.log(arr2.copywithin(0,3)); //將 3開始的資料轉義到 從0 開始

var arr2 = [1,2,3,4,5];

console.log(arr2.copywithin(0,4,5));//從4開始到下標為5的資料 轉移到下標0的元素上

var arr2 = [1,2,3,4,5];

console.log(arr2.copywithin(-1,0,1));//將0-1下標的資料轉義到 倒數第乙個元素上

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 寫法二 ...

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...