es6中新增陣列的方法

2022-08-25 14:57:37 字數 1602 閱讀 3046

1. array.from

這個東西就是把一些集合,或者長的像陣列的偽陣列轉換成真的陣列,比如arguments,js選擇器找到dom集合,

還有物件模擬的陣列

var obj =

array.from(obj / arguments / 偽陣列) //返回的是乙個陣列

.slice.call(arguments, 0) //這種方式根from方法是一樣的效果

還有第二個引數,是乙個回掉函式,功能類似map

array.from( [1, 2, 3], item => item * 2 )

2. array.of
array.of(1, 2, 3, 4)    //把引數合併成乙個陣列返回,如果引數為空,則返回乙個空陣列
3. copywithin
//這個東西用的不多,但是很有意思

//首先,引數有3個

//1: 被替換的起始位置 2: 選取替換值的起始位置 3: 選取替換值得結束位置

let arr = [1, 'c', 'd', 'a', 'b']; //假如我想把a,b替換到1的位置

arr.copywithin(0, 3, 5) // ["a", "b", "d", "a", "b"]

4. find/findindex
//find  返回陣列中第乙個符合條件的元素, findindex返回索引

[1, 2, 3, 4, 5].find(function(item))

5. fill
//功能一: 字面意思填滿,實際功能就是把陣列中的每乙個元素替換成指定值

let arr = [1, 2, 3, 4]

arr.fill(5) //arr全變成了5

//功能二:指定範圍替換,這功能似曾相識啊

arr.fill(6, 1, 3) //使用6 替換陣列中 下表為1-3範圍的值, 範圍是下標》=1 && <3 的位置。

//猛的一看以為功能和splice一樣呢,又去鞏固了一下。splice是刪除某乙個元素,然後增加指定的個數,並且它第乙個引數是下標起點,第二個引數是個數,而不是結束下標。

//擴充套件

.fill.call( , 4) //結果為以為是陣列,每個元素是4,結果返回的竟然還是物件。。。

6. entries/keys/values
let arr=['a', 'b', 'c']

for(let key of arr.keys()){} //取鍵

for(let value of arr.values()){} //取值;不能直接使用,有相容性問題,甚至谷歌

for(let [key, value] of arr.entries()){} //都取

7.inludes
var a = function(){}

[1, 2, 3, 4, a].includes(a) //true

[1, 2, 3, 4, nan].includes(nan) //true

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 方法找到符合條件...