陣列的擴充套件

2021-09-26 21:52:27 字數 1728 閱讀 7483

陣列的擴充套件

// es5 的寫法

function

f(x, y, z)

var args =[0

,1,2

];f.(

null

, args)

;// es6的寫法

function

f(x, y, z)

let args =[0

,1,2

];f(

...args)

;

array.from方法用於將兩類物件轉為真正的陣列:類似陣列的物件(array-like object)和可遍歷(iterable)的物件(包括 es6 新增的資料結構 set 和 map)

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

array.of(

3,11,

8)// [3,11,8]

array.of(

3)// [3]

array.of(

3).length // 1

陣列例項的copywithin()方法,在當前陣列內部,將指定位置的成員複製到其他位置(會覆蓋原有成員),然後返回當前陣列。也就是說,使用這個方法,會修改當前陣列。

陣列例項的find方法,用於找出第乙個符合條件的陣列成員。

陣列例項的findindex方法,返回第乙個符合條件的陣列成員的位置,如果所有成員都不符合條件,則返回-1。

fill方法用於空陣列的初始化非常方便。陣列中已有的元素,會被全部抹去。

[

'a',

'b',

'c']

.fill(7

)// [7, 7, 7]

newarray(3

).fill(7

)// [7, 7, 7]

es6 提供三個新的方法——entries(),keys()和values()——用於遍歷陣列。它們都返回乙個遍歷器物件(詳見《iterator》一章),可以用for…of迴圈進行遍歷,唯一的區別是keys()是對鍵名的遍歷、values()是對鍵值的遍歷,entries()是對鍵值對的遍歷。

for

(let index of

['a'

,'b'].

keys()

)// 0

// 1

for(

let elem of

['a'

,'b'].

values()

)// 'a'

// 'b'

for(

let[index, elem]of[

'a',

'b']

.entries()

)// 0 "a"

// 1 "b"

用於將巢狀的陣列「拉平」,變成一維的陣列。該方法返回乙個新陣列,對原資料沒有影響。

[1,

2,[3

,4]]

.flat()

// [1, 2, 3, 4]

陣列的空位指,陣列的某乙個位置沒有任何值。比如,array建構函式返回的陣列都是空位。

0

in[undefined, undefined, undefined]

// true0in

[,,,

]// false

陣列的擴充套件

1.array.from 將類陣列物件轉換為陣列,將iterator介面的類陣列轉換為真正的陣列 它也可以接收乙個 函式,對陣列裡面的每乙個元素進行遍歷 可以用該方法輸出 獲取的dom集的每乙個dom元素的某個屬性或者文字內容 好方法!2.array.of 將一組值轉換為陣列 3.copywithi...

陣列的擴充套件 陣列的空位

陣列的空位指,陣列的某一位置沒有任何值。比如,array建構函式返回的陣列都是空位 array 3 上面的陣列中array返回的是乙個具有三個空位的陣列 注意,空位不是undefined,乙個位置的值等於undefined,依然是有值的。空位是沒有任何值,in運算子可以說明這一點。0 in unde...

06 陣列的擴充套件

1.res 引數和擴充套件運算子 2.array.from 與array 3.陣列例項的 find 和 findindex 4.陣列例項的 fill 5.陣列例項的 entries keys values 6.陣列例項的 includes 7.陣列例項的 flat flatmap rest引數的形式...