Die Verwendung jeder Funktion und Map-Funktion in jquery scheint ähnlich zu sein, aber es gibt tatsächlich einen kleinen Unterschied.
Ein wichtiger Unterschied besteht darin, dass jedes das ursprüngliche Array zurückgibt und kein neues Array erstellt. Die Map-Methode gibt ein neues Array zurück. Wenn die Karte unnötig verwendet wird, kann es zu Speicherverschwendung kommen.
Zum Beispiel:
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]
Bei Verwendung von „eached“ wird das ursprüngliche Elementarray geändert, bei Verwendung von „map“ werden die Elemente jedoch nicht geändert, sondern es wird ein neues Array erstellt.
Zum Beispiel:
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]
Das Gleiche gilt, wenn ein Array gelöscht werden muss. Daher sind die Folgen einer falschen Verwendung jedes einzelnen Arrays oder einer Map beim Löschen sehr schwerwiegend.