陣列當中定義了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];
開發過程中用的比較常用到的就是map,foreach方法,他們是比較相似卻也有不小的區別。
主要在於:
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 ...