교육과정 기록/jQuery
jQuery - 배열 메소드
춘식이왔엉
2022. 6. 29. 02:07
배열 관련 메소드
each() / $.each() 메소드
- 배열에 저장된 문서 객체만큼 메서드가 반복 실행.
- 배열에 저장된 객체의 인덱스 순서대로 하나씩 접근하여 객체를 선택하고 인덱스를 구함
$("요소 선택").each(function)
$.each($("요소 선택").function)
<script>
$(() => {
console.clear();
// 1. 객체를 원소를 가지는 배열 선언
var arr = [
{ area : "서울"}, // 리터럴 방식의 객체
{ area : "부산"}, // 리터럴 방식의 객체
{ area : "전주"} // 리터럴 방식의 객체
];
// 2. 배열의 순회 using $.each 메소드
$(arr).each(function (index, value) { // ES6: Template String
console.log(`${index}:`, value); // $.each
});
// $(arr).each(function (index, value) {
// console.log( index + ":" , value);
// });
console.log("==== The End 1 ====");
$.each($("#menu2 li"), function(index, value) {
console.log(`${index}:`, value);
});
console.log("==== The End 2 ====");
$.each($("#menu2 li"), function (index) {
console.log('1. this:', this);
console.log(index + ":", $(this)); // $(this): 배열의 원소
$(this).css("color", "blue");
});
}); //.jq
</script>
$.map() 메소드
- 배열에 저장된 데이터 수만큼 메서드가 반복 실행.
- 함수에서 반환된 데이터는 새 배열에 순서대로 저장됨. 새로 저장된 배열 객체를 반환
$.map(Array, function)
<script>
// $.map() 메소드 : 원래의 값 -> 새로운 유형의 값으로 매핑(사상)
$(() => {
var arr1 = [
{ "area": "서울", "name": "무대리" },
{ "area": "서울", "name": "홍과장" },
{ "area": "부산", "name": "박사장" }
]; // 객체를 원소로 가지는 배열
// 객체 -> 문자열로 매핑(사상)
var arr2 = $.map(arr1, function (element, index) {
if (element.area == "서울") {
return element;
}
}); // $.map
console.log(arr2);
//응용 var Arr = [ 1, 2, 3, 4, 5, 6]; 에서 짝수만 추출하기
var Arr = [1, 2, 3, 4, 5, 6];
var newArr = $.map(Arr, function(e) {
if (e%2 == 0) {
return e;
}
});
console.log(newArr);
}); //.jq
</script>
$.grep() 메소드
- 배열에 저장된 데이터 수만큼 메서드가 반복 실행.
- 반환값이 true인 경우에만 배열의 데이터가 인덱스 오름차순으로 새 배열에 저장되며 그 배열을 반환
$grep(Array, function)
index() 메소드
- 선택자로 요소를 먼저 선택 후, 지정한 요소의 인덱스 정보를 가져옴
$("요소 선택").index("지정 요소 선택")