日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js数组中foEach和map的用法详解 jq中的$.each和$.map

發布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js数组中foEach和map的用法详解 jq中的$.each和$.map 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組中foEach和map的用法詳解

相同點:

1.都是循環遍歷數組(僅僅是數組)中的每一項。
2.forEach() 和 map() 里面每一次執行匿名函數都支持3個參數:數組中的當前項value,當前項的索引index,原始數組array。
3.匿名函數中的this都是指Window。
4.IE6-8不兼容,通過在數組原型上擴展此方法可以實現
形式:

[].forEach(function(value,inede,array) {//... }); [].map(function(value,inede,array) {//... });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); } }

forEach():
參數:value數組中的當前項, index當前項的索引, array原始數組;
數組中有幾項,那么傳遞進去的匿名回調函數就需要執行幾次。
無返回值,僅僅是遍歷數組中的每一項,不對原來數組進行修改;但是可以自己通過數組的索引來修改原來的數組;

var data = [1,23,45,56,7,8];data.forEach(function(value,index,arr) {arr[index] = arr[index]*10;});

map():
有返回值,可以return出來。
參數:value數組中的當前項,index當前項的索引,array原始數組;
區別:map的回調函數中支持return返回值;相當于把數組中的每一項改變(并不影響原來的數組,只是相當于把原數組克隆一份,把克隆的這一份的數組中的對應項改變了);

var data = [10,230,450,560,70,80];var data1 = data.map(function(value,index,arr) {return value/10;});console.log(data);console.log(data1); //(6)?[10, 230, 450, 560, 70, 80] //(6)?[1, 23, 45, 56, 7, 8]

jQuery中的$.each和$.map

相比于原生js功能有了擴展,可以遍歷對象。
形式:

$.each(obj,function(index,value) {//... }); $.map(obj,function(index,value) {//... });

$.each()

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

$.each( { name: "assassin", age: 23 }, function(k, v){ console.log( "Key: " + k + ", Value: " + v ); }); /* Key: name, Value: assassin Key: age, Value: 23 */

$.map()

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

$.map( { name: "assassin", age: 23 }, function(k, v){ console.log( "Key: " + k + ", Value: " + v ); }); //Key: assassin, Value: name //Key: 23, Value: age

轉載于:https://www.cnblogs.com/intelwisd/p/8521914.html

總結

以上是生活随笔為你收集整理的js数组中foEach和map的用法详解 jq中的$.each和$.map的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。