js/jquery遍歷對(duì)象和數(shù)組的方法分析【forEach,map與each方法】
本文實(shí)例講述了js/jquery遍歷對(duì)象和數(shù)組的方法。分享給大家供大家參考,具體如下:
JS forEach方法
arr[].forEach(function(value,index,array){ //do something })
- 參數(shù):value數(shù)組中的當(dāng)前項(xiàng),index當(dāng)前項(xiàng)的索引,array原始數(shù)組;
- 數(shù)組中有幾項(xiàng),那么傳遞進(jìn)去的匿名回調(diào)函數(shù)就需要執(zhí)行幾次;
- 理論上這個(gè)方法是沒(méi)有返回值的,僅僅是遍歷數(shù)組中的每一項(xiàng),不對(duì)原來(lái)數(shù)組進(jìn)行修改;但是可以自己通過(guò)數(shù)組的索引來(lái)修改原來(lái)的數(shù)組;
var arr = [12,23,24,42,1]; var res = arr.forEach(function (item,index,input) { input[index] = item*10; }) console.log(res);//-->undefined; console.log(ary);//-->[120,230,240,420,10]; 通過(guò)數(shù)組索引改變了原數(shù)組
JS map方法
arr[].map(function(value,index,array){ //do something })
- 參數(shù):value數(shù)組中的當(dāng)前項(xiàng),index當(dāng)前項(xiàng)的索引,array原始數(shù)組;
- 區(qū)別:map的回調(diào)函數(shù)中支持return返回值;return的是啥,相當(dāng)于把數(shù)組中的這一項(xiàng)變?yōu)樯叮ú⒉挥绊懺瓉?lái)的數(shù)組,只是相當(dāng)于把原數(shù)組克隆一份,把克隆的這一份的數(shù)組中的對(duì)應(yīng)項(xiàng)改變了);
var arr = [12,23,24,42,1]; var res = arr.map(function (item,index,input) { return item*10; }) console.log(res);//-->[120,230,240,420,10]; 原數(shù)組拷貝了一份,并進(jìn)行了修改 console.log(ary);//-->[12,23,24,42,1]; 原數(shù)組并未發(fā)生變化
jQuery $.each方法
$.each(arr, function(index,value){ //do something })
- 參數(shù):arr要遍歷的數(shù)組,index當(dāng)前項(xiàng)的索引,value數(shù)組中的當(dāng)前項(xiàng)
- 第1個(gè)和第2個(gè)參數(shù)正好和以上兩個(gè)函數(shù)是相反的,注意不要記錯(cuò)了
var arr = [12,23,24,42,1]; $.each(arr, function (index,item) { console.log(index) // 0 1 2 3 4 console.log(item) // 12 23 24 42 1 })
參考:
http://www.dbjr.com.cn/article/81955.htm
http://www.dbjr.com.cn/article/84609.htm
感興趣的朋友可以使用在線(xiàn)HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
PS:這里再為大家推薦一款JS數(shù)組遍歷方式分析對(duì)比工具供大家參考:
在線(xiàn)JS常見(jiàn)遍歷方式性能分析比較工具:http://tools.jb51.net/aideddesign/js_bianli
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 細(xì)說(shuō)JS數(shù)組遍歷的一些細(xì)節(jié)及實(shí)現(xiàn)
- javaScript遍歷對(duì)象和數(shù)組的方法總結(jié)
- JS中數(shù)組實(shí)現(xiàn)代碼(倒序遍歷數(shù)組,數(shù)組連接字符串)
- JavaScript遍歷查找數(shù)組中最大值與最小值的方法示例
- JavaScript遍歷數(shù)組的三種方法map、forEach與filter實(shí)例詳解
- JavaScript 數(shù)組遍歷的五種方法
- JS中循環(huán)遍歷數(shù)組的四種方式總結(jié)
- JS中的常見(jiàn)數(shù)組遍歷案例詳解(forEach,?map,?filter,?sort,?reduce,?every)
相關(guān)文章
JavaScript實(shí)現(xiàn)前端實(shí)時(shí)搜索功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)前端實(shí)時(shí)搜索功能 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Javascript實(shí)現(xiàn)真實(shí)字符串剩余字?jǐn)?shù)提示的實(shí)例代碼
這篇文章介紹了Javascript實(shí)現(xiàn)真實(shí)字符串剩余字?jǐn)?shù)提示的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10使用JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)秒表功能(含開(kāi)始、暫停、繼續(xù)、重置功能)
這篇文章主要介紹了使用JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)秒表(含開(kāi)始、暫停、繼續(xù)、重置功能),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06JavaScript時(shí)間戳與時(shí)間日期間相互轉(zhuǎn)換
今天做項(xiàng)目遇到這樣的問(wèn)題,要將獲取到的時(shí)間轉(zhuǎn)換為時(shí)間戳,通過(guò)查閱相關(guān)資料,問(wèn)題順利解決,下面小編把具體實(shí)現(xiàn)代碼分享到腳本之家平臺(tái),需要的朋友參考下2017-12-12javascript 顯示全局變量與隱式全局變量的區(qū)別
這篇文章主要介紹了javascript 顯示全局變量與隱式全局變量的區(qū)別,需要的朋友可以參考下2017-02-02JavaScript實(shí)現(xiàn)查找字符串中第一個(gè)不重復(fù)的字符
這篇文章主要介紹了JavaScript實(shí)現(xiàn)查找字符串中第一個(gè)不重復(fù)的字符,需要的朋友可以參考下2014-12-12JS前端知識(shí)點(diǎn)總結(jié)之頁(yè)面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支
這篇文章主要介紹了JS前端知識(shí)點(diǎn)總結(jié)之頁(yè)面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支,結(jié)合實(shí)例形式總結(jié)分析了JS頁(yè)面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支所涉及的相關(guān)事件、函數(shù)及操作注意事項(xiàng),需要的朋友可以參考下2019-07-07javascript中函數(shù)的寫(xiě)法實(shí)例代碼詳解
這篇文章主要介紹了javascript中函數(shù)的寫(xiě)法 ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10