ES6新增陣列的一些思考和使用

2022-09-09 08:06:17 字數 1238 閱讀 5085

array.from()把乙個偽陣列轉換為乙個真正的陣列

偽陣列:有下標和length,但是不能使用陣列方法

let lis = document.queryselectorall('.list li')

lis.map(item => ) is not a function

//通過form()方法轉換之後就可以使用array的方法

let lis = document.queryselectorall('.list li')

lis = array.from(lis)

let rec = lis.map(item => ) is not a function

console.log(rec);

通過...展開運算子也可以轉換為真正的陣列[...lis]

flat()

let arr = [1, 2, 3, [3, 4, 5, [7, 8, 9]]]

層數)

console.log(arr.flat(infinity));//1,2,3,4,5,6,7,8,9

flatmap()

array arr.flatmap(function callback(currentvalue[, index[, array]]) [, thisarg]) 方法首先使用對映函式對映每個元素,然後將結果壓縮成乙個新陣列。它與 map 和 深度值1的 flat 幾乎相同,但 flatmap 通常在合併成一種方法的效率稍微高一些

引數:callback

可以生成乙個新陣列中的元素的函式,可以傳入三個引數:

currentvalue

當前正在陣列中處理的元素

index可選

可選的。陣列中正在處理的當前元素的索引。

array可選

可選的。被呼叫的 map 陣列

可選引數:

thisarg

執行 callback 函式時 使用的this 值

返回值:

乙個包含將陣列與子陣列中所有元素的新陣列

arr.includes(valuetofind[, fromindex]) 判斷陣列中是否包含乙個指定的值

引數:valuetofind 需要查詢的值

可選引數:

從 fromindex 處開始向後查詢

返回值:

true 代表陣列中包含 valuetofind, false 代表陣列中不包含 fromindex

ES6新增陣列方法

1.includes 1,2,3 includes 2 indexof要去比較是否不等於 1,表達起來不夠直觀 而且它內部使用嚴格相等運算子 進行判斷,這會導致nan不等於nan 4.擴充套件運算子 console.log 1,2,3 1 2 3 主要用於函式呼叫 es5 的寫法 es6 的寫法 m...

ES6新增陣列方法

1.擴充套件運算子可以將陣列或者物件轉為用逗號分隔的引數序列 let ary 1,2,3 ary 1,2,3 console.log ary 1 2 3,相當於下面的 console.log 1,2,3 2.擴充套件運算子可以應用於合併陣列 let ary1 1,2,3 let ary2 3,4,5...

Es6新增陣列的方法彙總

1.foreach 方法 foreach 方法是迴圈遍歷陣列中的每一項,把符合條件的篩選出來成為乙個新的陣列。let arr 1 33,44 22,6 9 let ary arr.foreach function v,i console.log ary 2.some 方法 some 方法找到符合條件...