首頁 >web前端 >js教程 >jquery中map函數與each函數的差異實例介紹_jquery

jquery中map函數與each函數的差異實例介紹_jquery

WBOY
WBOY原創
2016-05-16 16:43:261192瀏覽

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後果還是蠻嚴重的。

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