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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
完美實現(xiàn)js拖拽效果 return false用法詳解
這篇文章主要為大家詳細介紹了完美實現(xiàn)js拖拽效果的代碼,一起學習return false的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法
這篇文章主要介紹了JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法,涉及JavaScript針對日期與實現(xiàn)的相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12

