jquery의 각 함수와 맵 함수의 사용법은 비슷해 보이지만 실제로는 약간의 차이가 있습니다.
중요한 차이점 중 하나는 각각 원래 배열을 반환하고 새 배열을 생성하지 않는다는 것입니다. 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]
각각을 사용할 경우 원래 항목 배열이 변경되지만, 맵을 사용할 경우 항목은 변경되지 않고 새로운 배열이 생성됩니다.
예:
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]
배열을 삭제해야 하는 경우에도 마찬가지이므로 삭제할 때 각각 또는 맵을 잘못 사용하면 결과가 매우 심각합니다.