es6 陣列擴充套件方法

2022-05-05 21:00:09 字數 2493 閱讀 4285

1.擴充套件運算子

含義: 擴充套件運算子,三個點(...),將乙個陣列轉為用逗號分隔的引數順序。

例如:

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

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

結果: [1,2,3]

1,2,3

用法: 作為函式引數

function

f(x,y,z)

let args = [0,1,2];

f(...args);

用法:求陣列的最大值

math.max(..[14,4,44]) //

44

應用:複製陣列

const a1 = [1,2];

const a2 =a1;

a2[0] = 2;

a1 //[2,2]

應用: 合併陣列

[1,2,...more]

應用:與解構賦值結合    

[a,...reast] = list

應用: 可以將字串轉為真正的陣列

console.log([...'hello'])

[ "h", "e", "l", "l", "o" ]

2.array.from()

方法用於將兩個類物件轉為真正的陣列。

應用:類陣列物件轉為真正的陣列

let arraylike =

let arr =array.from(arraylike);

console.log(arr);

//["a", "b", "c"]

應用:將字串轉為陣列

var arr = array.from('hello');

console.log(arr);

["h", "e", "l", "l", "o"]

如果是乙個真正的陣列那麼返回原陣列  

array.from 還可以接受第二個引數。

let arr = array.from([1,2,3],(x)=> x*x);

console.log(arr);

//[1, 4, 9]

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

例如:

var arr = array.of(3,11,8);

console.log(arr);

//[3, 11, 8]

4.陣列例項的 copywithin()

陣列例項的copywithin 方法,在當前陣列內部,將指定位置的成員複製到其他位置,

(會覆蓋原來成員),然後返回當前陣列,也就是說,使用這個方法,會修改當前陣列。

它接受三個引數。

target(必需):從該位置開始替換資料。

start(可選):從該位置開始讀取資料,預設為 0。如果為負值,表示倒數。

end(可選):到該位置前停止讀取資料,預設等於陣列長度。如果為負值,表示倒。

5.陣列的例項的 find() 和findindex()

陣列例項的find 方法,用於找出第乙個符合條件的陣列成員,它的引數是乙個**函

數,所有出租成員一次執行該**函式,直到找到的哥返回值為true的成員,然後

返回該成員,如果沒有符合條件的返回aundefined

let a = [1,4,-5,10].find((n)=> n <0)

console.log(a);

//-5

let b = [1,5,10,15].find(function

(value,index,arr) )

console.log(b);

//10

findindex 方法的用法與find 方法返回非常類似,返回第乙個符合條件的陣列

成員的位置,如果所有成員不符合條件返回-1。

例如[1,5,10,15].findindex(function(value,index,arr))

6.陣列例項的fill()

fill 方法使用給定值,填充乙個陣列;

var arr = ['a','b','c'].fill(7);

console.log(arr);

//[7,7,7]

7.陣列例項的 entries(), keys() 和 values()用於遍歷陣列,他們都是返回乙個遍歷器物件。

keys() 是對鍵名的遍歷,values() 是對鍵值的變數,entries() 是對鍵值對的遍歷。

for (let index of ['a','b'].keys())

8.陣列例項的includes()

array.prototype.includes 方法返回乙個布林值,表示某個陣列是否包含給定的值。

for (let index of ['a','b'].keys())

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