• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Traversing] JQ - map() 메서드 - 일치하는 요소집합의 각 요소를 함수를 통해 전달하여 반환값 포함하는 새 jQuery 객체 생성 (= map메서드 = 맵메서드) ※ 배열 매핑

목차
  1. map() 예제 - 각 요소의 함수 반환값 이용해 새 jQuery 객체 생성
  2. map() 정의
  3. map() 구문
  4. map() 예제 - 각 배열값에 4를 더해 새 배열 생성
  5. map() 예제 - 배열값이 양수면 1 더하고, 그렇지 않으면 null 반환해 새 배열 생성
  6. map() 예제 - 원래 값과 그 값에 1을 더한 값을 반환해 새 배열 생성
  7. map() 예제 - 객체 값을 2배로 늘려 새 배열 생성
  8. map() 예제 - 객체 이름만으로 새 배열 생성
  9. map() 예제 - 각 배열값의 제곱값으로 새 배열 생성
  10. map() 예제 - 50보다 크면 45빼고, 그렇지 않으면 null 반환해 새 배열 생성
  11. map() 예제 - 각 배열값에서 45를 뺀 값과 색인번호로 구성된 새 배열 생성
  12. map() 예제 - 2차원 배열의 일부 요소를 1차원 배열로 가져오기

 

map() 예제 - 각 요소의 함수 반환값 이용해 새 jQuery 객체 생성 

 

<style>

.hz1 {color: blue;}

.hz2 {color: green;}

.hz3 {color: red;}

</style>

<script src="https://code.jquery.com/jquery-3.5.0.js"></script>

 

<div class='hz1'></div>

<div class='hz2'></div>

<div class='hz3'></div>

 

<script>

var arr = [ "a", "b", "c", "d", "e" ];

  

// .hz1
console.log(arr); // ["a", "b", "c", "d", "e"]

$( ".hz1" ).text( arr.join( ", " ) ); // a, b, c, d, e

  

// .hz2

arr = jQuery.map( arr, function( n, i ) {

  return ( n.toUpperCase() + i );

}); 

console.log(arr); // ["A0", "B1", "C2", "D3", "E4"]

$( ".hz2" ).text( arr.join( ", " ) ); // A0, B1, C2, D3, E4

  

// .hz3

arr = jQuery.map( arr, function( a ) {

  return a + a;

}); 

console.log(arr); // ["A0A0", "B1B1", "C2C2", "D3D3", "E4E4"]

$( ".hz3" ).text( arr.join( ", " ) ); // A0A0, B1B1, C2C2, D3D3, E4E4

</script>

 

결과보기

 

map() 정의

 

객체의 각 요소를 콜백함수로 가공해 새 객체 반환.

 


 

  • JQ 1.0에서는 배열만 가능.
  • JQ 1.6부터는 객체도 가능. 

 

 

map() 구문

 

jQuery.map(array, callback)

또는,
$.map(array, callback)


[매개변수]

 

array

필수. 기존 객체. 

  • JQ ver 1.0 +: 배열
  • JQ ver 1.6 +: 객체

 

callback

필수. 기존 객체를 가공할 콜백함수

  • JQ 1.0 : Function( Object elementOfArray, Integer indexInArray ) => Object
  • JQ 1.6 : Function( Object propertyOfObject, String key ) => Object

 


[반환값]

 

콜백함수가 적용된 배열 반환.  

 

 

map() 예제 - 각 배열값에 4를 더해 새 배열 생성

 

$.map( [ 0, 1, 2 ], function( n ) {

  return n + 4;

});

 

반환값: [4, 5, 6]

 

map() 예제 - 배열값이 양수면 1 더하고, 그렇지 않으면 null 반환해 새 배열 생성

 

$.map( [ 0, 1, 2 ], function( n ) {

  return n > 0 ? n + 1 : null;

});

 

반환값: [ 2, 3 ]

 

map() 예제 - 원래 값과 그 값에 1을 더한 값을 반환해 새 배열 생성

 

$.map( [ 0, 1, 2 ], function( n ) {

    return [ n, n + 1 ];

});

 

반환값: [ 0, 1, 1, 2, 2, 3 ]

 

map() 예제 - 객체 값을 2배로 늘려 새 배열 생성

 

var dimensions = { width: 10, height: 15, length: 20 };

dimensions = $.map( dimensions, function( value, index ) {

  return value * 2;

});

 

반환값: [ 20, 30, 40 ]

 

map() 예제 - 객체 이름만으로 새 배열 생성

 

var dimensions = { width: 10, height: 15, length: 20 };

var keys = $.map( dimensions, function( value, key ) {

  return key;

});

 

반환값: [ "width", "height", "length" ]

 

map() 예제 - 각 배열값의 제곱값으로 새 배열 생성

 

$.map( [ 0, 1, 2, 3 ], function( a ) {

  return a * a;

});

 

반환값: [ 0, 1, 4, 9 ]

 

map() 예제 - 50보다 크면 45빼고, 그렇지 않으면 null 반환해 새 배열 생성

 

$.map( [ 0, 1, 52, 97 ], function( a ) {

  return (a > 50 ? a - 45 : null);

});

 

반환값: [ 7, 52 ]

 

map() 예제 - 각 배열값에서 45를 뺀 값과 색인번호로 구성된 새 배열 생성

 

var array = [ 0, 1, 52, 97 ];

array = $.map( array, function( a, index ) {

  return [ a - 45, index ];

});

 

반화값: [ -45, 0, -44, 1, 7, 2, 52, 3]

 

map() 예제 - 2차원 배열의 일부 요소를 1차원 배열로 가져오기

 

var arr = [

    ['HTML','뼈대','https://homzzang.com/b/html'],

    ['CSS','디자인','https://homzzang.com/b/css'],

    ['JS','기능','https://homzzang.com/b/js']

]

var arrName = [];

arr.map(val => arrName.push(val[0]));

console.log(arrName);

 

반환값: ["HTML","CSS","JS"] 

Phillips 님 (220209) https://sir.kr/qa/448771

PS. PHP 경우, array_column() 함수 이용

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
HTML_CSS JQ - width() 메서드 ★★★ - 요소 너비 설정/반환. (= width메서드 = 위드스메서드)
HTML_CSS JQ - wrap() 메서드 ★ - 선택요소를 지정 부모요소로 감싸기. (= wrap메서드 = 랩메서드)
HTML_CSS JQ - wrapAll() 메서드 - 선택요소 모두를 한번에 지정 요소로 감싸기. (= wrapAll메서드 …
HTML_CSS JQ - wrapInner() 메서드 - 선택요소 안 내용을 지정 요소로 감싸기 (= wrapInner메서드…
Traversing JQ - add() 메서드 ★ - 일치하는 요소 집합에 지정 요소가 추가된 새 jQuery 객체 생성. (=…
Traversing JQ - addBack() 메서드 - 이전집합요소를 현재집합에 추가 (= 애드백메서드)
Traversing JQ - andSelf() 메서드 - addBack() ​​별칭 (※ 제이쿼리 1.8 버전에서 폐기예고)
Traversing JQ - children() 메서드 ★ - 모든 자식요소 반환 (= children메서드 = 칠드런메서드)
Traversing JQ - closest() 메서드 ★ - 선택요소 첫번째 조상 반환 (= 최근접 지정 조상요소 선택 = cl…
Traversing JQ - contents() 메서드 - 선택요소의 모든 직접 자식요소 반환 (= contents메서드 = 콘…
Traversing JQ - each() 메서드 ★★★ - 각 일치요소에 대해 함수 실행. (= 제이쿼리 반복문 = each메서…
Traversing JQ - end() 메서드 - 현재 체인에서 가장 최근의 필터링 작업을 끝내고 일치 요소집합을 이전 상태로 …
Traversing JQ - eq() 메서드 ★★★ - 선택 요소 중 특정 색인 번호 갖는 요소 반환. (= eq메서드 = 이큐…
Traversing JQ - filter() 메서드 -일치범위축소 (= 필터메서드) ※ 자식요소소유개수선택자 (= 자식개수선택자…
Traversing JQ - find() 메서드 ★★★ - 선택 요소의 자손요소 반환・찾기 (= find메서드 = 파인드메서드)
Traversing JQ - first() 메서드 - 선택요소의 첫번째요소 반환 (= first메서드 = 퍼스트메서드)
Traversing JQ - has() 메서드 - 내부에 하나 이상의 요소가 있는 모든 요소 반환 (= has메서드 = 해즈 메…
Traversing JQ - is() 메서드 ★ - 일치 여부 체크. (= is메서드 = 이즈메서드)
Traversing JQ - last() 메서드 - 선택요소들의 마지막 요소 반환
Traversing JQ - map() 메서드 - 일치하는 요소집합의 각 요소를 함수를 통해 전달하여 반환값 포함하는 새 jQu…
11/15
목록
찾아주셔서 감사합니다. Since 2012