-
[jQuery] $.grep 과 $.mapJavascript 2018. 5. 29. 19:00
$.grep 과 $.map
이번 글에서는 jQuery에서 제공하는 두 개의 배열 유틸리티인 $.grep ()과 $.map () 사이의 차이점에 대해 포스팅 할 것입니다.사실 $.grep 함수는 배열을 필터링하고 필터링 된 배열을 반환하지만, $.map은 단순히 배열의 각 항목에 함수를 적용하여 수정 된 배열을 반환합니다.우선,이 기능들은 매우 다릅니다. 주요 차이점은 다음과 같습니다.$.grep()
123456$.grep(array, function(index, value) {//...});cs 첫 번째 매개변수인 array의 경우에는 필터링을 할 배열입니다.두 번째 매개변수인 index는 각 배열 항목의 숫자 인덱스입니다.세 번째 매개변수인 value는 배열의 각 항목의 실제 값입니다.$.map()
12345$.map(array, function(value, index) {//...});cs 첫 번째 매개변수인 array는 항목에 함수를 적용하려는 배열입니다.두 번째 매개변수인 value는 배열의 각 항목에 대한 실제 값입니다.세 번째 매개변수인 index는 각 항목의 숫자 색인입니다.언제 사용하는가?
배열에 필터를 적용하려면 $.grep()을 사용합니다.대신 우리는 각 배열의 항목에 함수를 적용 할 때 $.map()을 사용합니다.예를 들어, 순서가 지정되지 않은 목록이있는 경우에는 아래와 같습니다.123456789101112<ul id="test"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul>cs $.grep()을 사용하여 짝수를 포함하는 목록 항목 만 필터링 할 수 있습니다.12345678var lis = $('#test li').get();var grep = $.grep(lis, function(index, value) {return (lis[value].firstChild.nodeValue % 2 == 0);});cs return문은 실제로 대괄호 안에 지정된 필터를 적용합니다.대신 배열에 변경 사항을 적용하고 수정 된 배열을 반환하려면 아래와 같이 $.map()을 사용할 수 있습니다.예를 들어 각 항목의 텍스트를 숫자로 변환하고 각 항목의 색인에 해당 값을 합할 수 있습니다.12345var map = $.map(lis, function(value, index) {return ('<li>' + (new Number(value.firstChild.nodeValue) + index) + '</li>');});cs 함수 블록 내에서 사용되는 구문은 $.grep()에서 사용되는 구문과 동일합니다.유일한 차이점은 필터링 된 배열이 아니라 수정 된 배열을 반환한다는 것입니다.아래에서 예제를 보실 수 있습니다.출처 : http://onwebdev.blogspot.com/2011/03/jquery-grep-and-map-example-and-syntax.html
'Javascript' 카테고리의 다른 글
[JS] GITHUB이 Jquery를 삭제하다 (0) 2019.01.26 [JS] Map vs ForEach (2) 2018.08.25 [JS] 8번째 데이터 타입 BigInt (0) 2018.06.07 함수 선언식 && 표현식 && 호이스팅 (0) 2018.04.17 ES 2017 및 ES 2018에 대한 새로운 기능 (1) (0) 2018.04.15