您好,登錄后才能下訂單哦!
這篇文章主要介紹了JavaScript數(shù)組有哪些迭代方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
ES5為數(shù)組定義了5個(gè)迭代方法。每種方法都接收兩個(gè)參數(shù)。要在每一項(xiàng)上運(yùn)行的函數(shù)和(可選的)運(yùn)行該函數(shù)的作用域?qū)ο?-影響this的值。//其中(可選的)這個(gè)參數(shù)暫時(shí)未遇到過。
其中,函數(shù)都接收三個(gè)參數(shù)(數(shù)組中的每一項(xiàng)、每一項(xiàng)的索引值、數(shù)組對象本身)。
下面是5中方法的介紹:
every() : 對數(shù)組中的每一項(xiàng)執(zhí)行函數(shù),如果每一項(xiàng)都返回 true ,則該方法返回 true。
some(): 對數(shù)組中的每一項(xiàng)執(zhí)行函數(shù),只要有一項(xiàng)返回了 true ,則該方法返回 true。
filter(): 對數(shù)組中的每一項(xiàng)執(zhí)行函數(shù),把里面返回 true 的項(xiàng),組成一個(gè)數(shù)組返回。
forEach() 對數(shù)組中的每一項(xiàng)執(zhí)行函數(shù),沒有返回值。類似于for循環(huán)。
map() 對數(shù)組中的每一項(xiàng)執(zhí)行函數(shù),返回(處理后的)每一項(xiàng)。
以上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]
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“JavaScript數(shù)組有哪些迭代方法”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。