首頁  >  文章  >  web前端  >  分享jquery中map函數與each函數兩者差異

分享jquery中map函數與each函數兩者差異

黄舟
黄舟原創
2017-07-19 16:27:201301瀏覽

jquery中的each函數和map函數的用法看起來差不多,但其實還是有點差別的。

其中一個重要的差異是,each傳回的是原來的數組,並不會新建立一個數組。而map方法會傳回一個新的陣列。如果在沒有必要的情況下使用map,則有可能造成記憶體浪費。

例如:

var items = [1,2,3,4]; 
$.each(items, function() { 
alert('this is ' + this); 
}); 
var newItems = $.map(items, function(i) { 
return i + 1; 
}); 
// newItems is [2,3,4,5]

使用each時,改變的還是原來的items數組,而使用map時,不改變items,只是新建一個新的數組。

例如:

var items = [0,1,2,3,4,5,6,7,8,9]; 
var itemsLessThanEqualFive = $.map(items, function(i) { 
// removes all items > 5 
if (i > 5) 
return null; 
return i; 
}); 
// itemsLessThanEqualFive = [0,1,2,3,4,5]

當需要對陣列進行刪除時也是如此,所以刪除時錯誤使用each或map後果還是蠻嚴重的。

以上是分享jquery中map函數與each函數兩者差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn