JavaScript數(shù)組的5種迭代方法
ES5為數(shù)組定義了5個迭代方法。每種方法都接收兩個參數(shù)。要在每一項上運行的函數(shù)和(可選的)運行該函數(shù)的作用域?qū)ο?-影響this的值。//其中(可選的)這個參數(shù)暫時未遇到過。
其中,函數(shù)都接收三個參數(shù)(數(shù)組中的每一項、每一項的索引值、數(shù)組對象本身)。
下面是5中方法的介紹:
every() : 對數(shù)組中的每一項執(zhí)行函數(shù),如果每一項都返回 true ,則該方法返回 true。
some(): 對數(shù)組中的每一項執(zhí)行函數(shù),只要有一項返回了 true ,則該方法返回 true。
filter(): 對數(shù)組中的每一項執(zhí)行函數(shù),把里面返回 true 的項,組成一個數(shù)組返回。
forEach() 對數(shù)組中的每一項執(zhí)行函數(shù),沒有返回值。類似于for循環(huán)。
map() 對數(shù)組中的每一項執(zhí)行函數(shù),返回(處理后的)每一項。
以上5種方法,都不會改變數(shù)組本身。
forEach和map的比較:
var arr = [1,2,3,4,5]; //every() filter() some() forEach() map() var res = arr.every(function(i,index,o){ return i>2; }); console.log(arr); //[1,2,3,4,5] console.log(res); //false var some = arr.some(function (i, k, l) { return i>2; }); console.log(arr);//[1,2,3,4,5] console.log(some);//true var filter = arr.filter(function (i, k, l) { return i>2; }); console.log(arr);//[1,2,3,4,5] console.log(filter);//[3,4,5] var forEach = arr.forEach(function (i, k, l) { return i>2; }); console.log(arr);//[1,2,3,4,5] console.log(forEach);//undefined var map = arr.map(function (i, k, l) { return i>2; }); console.log(arr);//[1,2,3,4,5] console.log(map);//[false,false,true,true,true]
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript在IE中“意外地調(diào)用了方法或?qū)傩栽L問”
FF是正常的,IE報“意外地調(diào)用了方法或?qū)傩栽L問”。2008-11-11javascript中innerHTML 獲取或替換html內(nèi)容的實現(xiàn)代碼
這篇文章主要介紹了javascript中innerHTML 獲取或替換html內(nèi)容,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03重寫javascript中window.confirm的行為
javascript中window.confirm這個方法很好用,可以彈出一個確認對話框.但有一個問題是,它默認的情況下,將選中那個"確定"按鈕,當用戶有意無意的在鍵盤回車,就是說按下Enter鍵的時候,就會自動返回true。在很多時候其實我們不希望這樣2012-10-10Bootstrap.css與layDate日期選擇樣式起沖突的解決辦法
這篇文章主要為大家詳細介紹了BootStrap.css與layDate日期選擇樣式起沖突的解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04