亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

原生JS forEach()和map()遍歷的區別、兼容寫法及jQuery $.each、$.map遍歷操作

2019-11-19 12:04:08
字體:
來源:轉載
供稿:網友

本文實例講述了原生JS forEach()和map()遍歷的區別、兼容寫法及jQuery $.each、$.map遍歷操作。分享給大家供大家參考,具體如下:

一、原生JS forEach()和map()遍歷

共同點:

①.都是循環遍歷數組中的每一項。

②.forEach()map() 里面每一次執行匿名函數都支持3個參數:數組中的當前項item,當前項的索引index,原始數組input。

③.匿名函數中的this都是指Window。

④.只能遍歷數組。

1.forEach()

沒有返回值。

var ary = [12,23,24,42,1];var res = ary.forEach(function (item,index,input) {    input[index] = item*10;})console.log(res);//-->undefined;console.log(ary);//-->會對原來的數組產生改變

2.map()

有返回值,可以return 出來。

var ary = [12,23,24,42,1];var res = ary.map(function (item,index,input) {  return item*10;})console.log(res);//-->[120,230,240,420,10];console.log(ary);//-->[12,23,24,42,1]

兼容寫法:

不管是forEach還是map在IE6-8下都不兼容(不兼容的情況下在Array.prototype上沒有這兩個方法),那么需要我們自己封裝一個都兼容的方法,代碼如下:

/*** forEach遍歷數組* @param callback [function] 回調函數;* @param context [object] 上下文;*/Array.prototype.myForEach = function myForEach(callback,context){  context = context || window;  if('forEach' in Array.prototye) {    this.forEach(callback,context);    return;  }  //IE6-8下自己編寫回調函數執行的邏輯  for(var i = 0,len = this.length; i < len;i++) {    callback && callback.call(context,this[i],i,this);  }}
/*** map遍歷數組* @param callback [function] 回調函數;* @param context [object] 上下文;*/Array.prototype.myMap = function myMap(callback,context){  context = context || window;  if('map' in Array.prototye) {    return this.map(callback,context);  }  //IE6-8下自己編寫回調函數執行的邏輯  var newAry = [];  for(var i = 0,len = this.length; i < len;i++) {    if(typeof callback === 'function') {      var val = callback.call(context,this[i],i,this);      newAry[newAry.length] = val;    }  }  return newAry;}

二、jQuery $.each()和$.map()遍歷

共同點:

即可遍歷數組,又可遍歷對象。

1.$.each()

沒有返回值。$.each()里面的匿名函數支持2個參數:當前項的索引i,數組中的當前項n。如果遍歷的是對象,k 是鍵,n 是值。

$.each( ["a","b","c"], function(i, n){   alert( i + ": " + n );});
$("span").each(function(i, n){   alert( i + ": " + n );});
$.each( { name: "John", lang: "JS" }, function(k, n){   alert( "Name: " + k + ", Value: " + n );});

2.$.map()

有返回值,可以return 出來。$.map()里面的匿名函數支持2個參數和$.each()里的參數位置相反:數組中的當前項n,當前項的索引i。如果遍歷的是對象,i 是值,n 是鍵。如果是$("span").map()形式,參數順序和$.each()  $("span").each()一樣。

var arr=$.map( [0,1,2], function(n){   return n + 4;});console.log(arr);
$.map({"name":"Jim","age":17},function(i,n){   console.log(i+":"+n);});

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

PS:這里再為大家推薦一款JS數組遍歷方式分析對比工具供大家參考:

在線JS常見遍歷方式性能分析比較工具http://tools.VeVB.COm/aideddesign/js_bianli

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《javascript面向對象入門教程》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美另类99xxxxx| 亚洲日本欧美日韩高观看| 韩国v欧美v日本v亚洲| 欧美日韩激情小视频| 日韩一区视频在线| 欧美成人激情视频免费观看| 大量国产精品视频| 亚洲国产成人精品女人久久久| 国产精品jizz在线观看麻豆| 亚洲国产精品一区二区久| 亚洲国产日韩欧美在线99| 亚洲free嫩bbb| 国产精品日韩在线| 国产精品自产拍在线观看| 日韩美女在线观看一区| 一本色道久久综合狠狠躁篇怎么玩| 久久频这里精品99香蕉| 精品国产91乱高清在线观看| 国产精品午夜一区二区欲梦| 2021国产精品视频| 欧美日韩国产黄| 久久久久久久久久久免费| 欧美国产视频一区二区| 中文字幕精品一区二区精品| 日韩欧美国产网站| 亚洲欧美成人在线| 亚洲三级免费看| 久久av中文字幕| 亚洲国产欧美一区二区三区同亚洲| 色偷偷噜噜噜亚洲男人| 91精品国产乱码久久久久久蜜臀| 中文字幕日韩精品有码视频| 亚洲va男人天堂| 亚洲激情第一页| 久久久国产影院| 欧美午夜丰满在线18影院| 国产免费一区二区三区在线观看| 中文字幕久精品免费视频| 97视频网站入口| 免费91麻豆精品国产自产在线观看| 亚洲综合精品一区二区| 亚洲精品久久久久| 中文字幕无线精品亚洲乱码一区| 国产色婷婷国产综合在线理论片a| 伊人久久男人天堂| 国模视频一区二区| 日韩av在线资源| 亚洲一级黄色片| 久久99久久久久久久噜噜| 欧美高清视频免费观看| 国产一区二区在线播放| 亚洲欧美中文在线视频| 国产精品综合久久久| 91精品综合久久久久久五月天| 国产亚洲成av人片在线观看桃| 美女精品久久久| 日韩欧美国产网站| 亚洲free性xxxx护士hd| 亚洲精品永久免费精品| 国产精品一久久香蕉国产线看观看| 国产欧美日韩高清| 亚洲天堂精品在线| 日韩av免费看| 国产成人精品午夜| 91精品国产九九九久久久亚洲| 色偷偷偷亚洲综合网另类| 亚洲国产精品久久久久秋霞不卡| 日韩亚洲精品视频| 69av在线播放| 91色在线观看| 日韩av中文字幕在线| 日韩电影大全免费观看2023年上| 亚洲男人天堂手机在线| 欧美成人性色生活仑片| 久久久精品国产| 国产一区二区三区视频在线观看| 亚洲电影免费在线观看| 久久精品成人动漫| 久久免费视频观看| 久久久久久久一区二区三区| 啊v视频在线一区二区三区| 97在线看免费观看视频在线观看| 国产精品福利小视频| 国产成+人+综合+亚洲欧美丁香花| 亚洲午夜未满十八勿入免费观看全集| 国产精品入口尤物| 久久青草精品视频免费观看| 精品福利在线视频| 亚洲娇小xxxx欧美娇小| 亚洲国产成人久久综合| 欧美国产精品日韩| 成人网在线视频| 色噜噜狠狠狠综合曰曰曰88av| 亚洲影院污污.| 欧美午夜片欧美片在线观看| 成人欧美一区二区三区在线| 国产精品劲爆视频| 夜夜嗨av一区二区三区免费区| 国产免费一区二区三区在线观看| 亚洲小视频在线| 欧美视频精品一区| 日韩成人在线视频观看| 国产美女精品视频免费观看| 在线播放日韩精品| 91亚洲永久免费精品| 伊人久久大香线蕉av一区二区| 欧美放荡办公室videos4k| 久久久久国产精品免费网站| 欧美日韩国产中文字幕| 国产亚洲精品久久| 在线亚洲午夜片av大片| 欧美视频不卡中文| 欧美日韩国内自拍| 视频在线一区二区| 亚洲欧美日韩中文视频| 美女视频黄免费的亚洲男人天堂| 国产精品久久久久久av福利软件| 国产精品6699| 亚洲女人初尝黑人巨大| 久久久国产精品x99av| 日韩av在线免费观看一区| 97精品一区二区三区| 91中文字幕在线| 欧美日韩美女视频| 精品久久久久久久大神国产| 欧美精品久久久久久久免费观看| 亚洲免费人成在线视频观看| 国产精品88a∨| 理论片在线不卡免费观看| 国产精品成人免费视频| 亚洲日本中文字幕| 久久久久久91香蕉国产| 国产精品va在线播放| 亚洲国产一区二区三区在线观看| 日本午夜人人精品| 日本精品视频在线观看| 4k岛国日韩精品**专区| 黄色成人在线免费| 日韩中文字幕在线视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美视频13p| 色播久久人人爽人人爽人人片视av| 4p变态网欧美系列| 91色在线视频| 欧美日韩中国免费专区在线看| 亚洲欧美日韩区| 国产一区香蕉久久| 欧美日韩精品在线视频| 日韩在线视频一区| 国产精品啪视频| 日韩亚洲精品视频| xxx一区二区| 欧美激情精品久久久久久免费印度| 亚洲成人教育av| 上原亚衣av一区二区三区| 精品无码久久久久久国产| 日韩av网站大全| 免费91麻豆精品国产自产在线观看| 久久99久久99精品免观看粉嫩| 欧美福利视频在线观看| 欧美日韩国产在线| 日韩av影片在线观看| 亚洲女人被黑人巨大进入| 国产精品直播网红|