Javascript陣列的5種迭代方法

2021-08-22 16:25:59 字數 1780 閱讀 2611

陣列當中定義了5個迭代方法,傳入這些方法中的函式會接受三個引數,陣列項的值,該項在陣列的位置,和陣列物件本身,以下是5個迭代方法的作用。

對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true。

let arr1 = [1,2,3,4,5,6];

let arr2 = [-1,-2,-3,-4,-5,-6];

let every1 = arr1.every((item,index,arr)=>)

letevery2 = arr2.every

((item,index,arr)=>)

console.log

(every1,every2);//true,false

對陣列中的每一項執行給定函式,返回該函式返回true的項組成的數字

let arr1 = [-1,-2,-3,4,5,6];

let arr2 = [1,2,3,-4,-5,-6];

let filter1 = arr1.filter(item=>)

let filter2 = arr2.filter((item)=>)

console.log

(filter1,filter2);//[4,5,6],[-4,-5,-6]

對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true。

let arr1 = [1,2,3,4,5,6];

let arr2 = [1,2,3,-4,-5,-6];

let some1= arr1.some(item=>)

let some2 = arr2.some((item)=>)

console.log

(some1,some2);//true,true

對陣列中的每一項執行給定函式,這個方法沒有返回值。

foreach無法遍歷物件

foreach無法在ie中使用,只是在firefox和chrome中實現了該方法

let arr1 = [1,2,3,4,5,6];

let arr2 = [1,2,3,-4,-5,-6];

let foreach1= arr1.foreach(item=>)

let foreach2 = arr2.foreach((item)=>)

console.log

(foreach1,foreach2);//undefined,undefined

對陣列中的每一項執行給定函式,返回每次呼叫的結果組成的陣列。

let arr1 = [1,2,3,4,5,6];

let arr2 = [-1,-2,-3,-4,-5,-6];

let map1 = arr1.map(item=>)

let map2 = arr2.map((item)=>)

console.log

(map1,map2);//[2, 3, 4, 5, 6, 7] (6) [0, -1, -2, -3, -4, -5];

開發過程中用的比較常用到的就是mapforeach方法,他們是比較相似卻也有不小的區別。

主要在於:

map方法是有返回值的,而foreach是沒有的。

ie瀏覽器不支援foreach方法,所以要相容ie瀏覽器的盡量不要使用foreach去遍歷。

map方法的速度快於foreach。

JavaScript建立物件的5種模式

物件導向的語言有乙個標誌,即擁有類的概念,抽象例項物件的公共屬性與方法,基於類可以建立任意多個例項物件,一般具有封裝 繼承 多型的特性!但js中物件與純物件導向語言中的物件是不同的,ecma標準定義js中物件 無序屬性的集合,其屬性可以包含基本值 物件或者函式。可以簡單理解為js的物件是一組無序的值...

JavaScript 建立物件的5種常見模式

1 工廠模式 定義 以函式來封裝以特定介面建立物件的細節,其實就是通過函式來建立乙個物件並返回。缺點 每次呼叫都會返回乙個物件,不能節省記憶體,同時物件例項無法獲取其物件型別。function createperson name,age,job return o var person1 create...

javascript 陣列去重的6種思路

前端在日常開發中或多或少都會碰到有對資料去重的需求,實際上,像是lodash這些工具庫已經有成熟完備的實現,並且可以成熟地運用於生產環境。但是這並不妨礙我們從思維拓展的角度出發,看看去重可以用幾種思路去實現。首先是常規的雙層迴圈比對的思路實現 function doubleloopuniq arr ...