ES6 陣列的擴充套件

2022-05-17 20:51:40 字數 1571 閱讀 1913

如果乙個物件的鍵都是正整數或者0,並且有 length屬性,那麼這個物件很想陣列,稱它為偽陣列。

偽陣列:

let obj =

obj.length = 3;

let arr =array.from(obj) // 將偽陣列轉換為陣列

console.log(arr)

//[0,1,2]

(1)物件中沒有length屬性的話, array.from() 返回乙個  

(2)如果物件中的剪不是正整數的或0 的時候,不是正整數物件的 元素為 undefined.

let arr2 = array.of('1', 'shuz', '狗蛋');

console.log(arr2);

//["1", "shuz", "狗蛋"]

(1)陣列例項的find()  方法用於找出第乙個符合條件的陣列成員。他的引數是乙個**函式,所有的函式依次執行該**函式,直到找到第一返回值為 true的成員,然後返回該成員,如果沒有符合條件的成員返回undefined。

示例:

//

array.find()

let findval = [10, 20, 39, 3, 12, 5].find( (n, index, arr) =>)

console.log(findval);

//3

陣列例項的 findindex()和find() 很相似。findindex() 方法返回的第乙個符合條件的陣列成員的位置,如果所有成員都符合條件,則返回 -1;

[1, 5, 10, 15].findindex(function

(value, index, arr) )

//2

方法返回乙個布林值,表示某個陣列是否包含給定的值。該方法的第二個引數表示搜尋的起始位置,預設為0。如果第二個引數為負數,則表示倒數的位置,如果這時它大於陣列長度(比如第二個引數為-4,但陣列長度為3),則會重置為從0開始。

[1, 2, 3].includes(2)   //

true

[1, 2, 3].includes(3, -1); //

true

[1, 2, 3, 5, 1].includes(1, 2); //

true

es6 提供entries(),keys()和values(),用於遍歷陣列。它們都返回乙個遍歷器物件,可以用for...of迴圈進行遍歷,唯一的區別是keys()是對鍵名的遍歷、values()是對鍵值的遍歷,entries()是對鍵值對的遍歷。

//

array.keys()

let arr5 = [1,2,'123','12312qweqwe']

console.log('keys', arr5.keys()) //

array iterator {}

for(let index of arr5.keys())

for(let value of arr5.values())

for(let [index, value] of arr5.entries())

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