$.grep() 는 배열의 모든 항목을 받아 콜백 함수에 의해 필터링된 배열을 반환합니다. 그리고, 반환 값이 true 인 결과들만 새로운 배열에 저장합니다.

$.grep( Array, Callback(val, index){}, [, invert]);

콜백 함수의 val 은 배열의 값을, index 는 배열의 인덱스 번호를 나타내며, 0부터 카운터합니다. invert 에는 true 나 false 중 하나를 설정할 수 있습니다.

<script>
$(function(){
 var array = [1,2,3,4,5,6,7,8,9,0];

 var new_arr = $.grep(array, function(val, index) {
   return val % 2 == 0;
 });

 console.log(new_arr.join(", "));
 /*
   결과:
   2, 4, 6, 8, 0
 */
});
</script>

다음은 invert 에 대한 예제입니다. invert 를 true 로 설정하면 반환 값이 false 인 결과들만 새로운 배열에 저장합니다.

<script>
$(function(){
 var array = [1,2,3,4,5,6,7,8,9,0];

 var new_arr = $.grep(array, function(val, index) {
   return val % 2 == 0;
 }, true);

 console.log(new_arr.join(", "));
 /*
   결과:
   1, 3, 5, 7, 9
 */
});
</script>

다음은 객체가 있는 배열에 대한 예제입니다.

<script>
$(function(){
 var array = [
   {'a':3, 'b':4},
   {'a':1, 'b':2}
 ];

 var new_arr = $.grep(array, function(val, index) {
   return (val.a == 3 && val.b == 4);
 });

 console.log(new_arr);
 /*
   결과:
   0: {a: 3, b: 4}
 */
});
</script>

0 댓글