> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 배열 처리를 위한 map() 메소드 활용 분석

JavaScript 배열 처리를 위한 map() 메소드 활용 분석

不言
풀어 주다: 2019-01-09 15:25:39
원래의
7107명이 탐색했습니다.

이 글에서는 배열 데이터를 처리하기 위한 map() 메서드의 사용법과 map() 메서드와 forEach 문의 차이점을 소개합니다. 아래에서 구체적인 내용을 살펴보겠습니다.

JavaScript 배열 처리를 위한 map() 메소드 활용 분석

먼저 map()

var array = [ 数组数据 ];
array.map(回调函数);
로그인 후 복사

Map의 기본 구문을 살펴보겠습니다. Map은 각 요소에 대해 "콜백 함수"를 실행하고 그 결과를 새로운 결과로 반환할 수 있는 배열 데이터에 대한 메서드입니다. 정렬.

즉, 이 함수에 실행할 프로세스를 작성하면 배열의 각 요소에 대해 어떤 작업이라도 수행할 수 있습니다!

맵 메소드를 사용하여 배열을 반복하는 방법은 무엇입니까?

다음 예는 숫자 데이터가 포함된 배열에 map 메소드를 사용한 예입니다

var items = [1,2,3,4,5];
 
var result = items.map(function( value ) {
    return value * 2;
});
console.log( result );
로그인 후 복사

출력 결과는 다음과 같습니다

JavaScript 배열 처리를 위한 map() 메소드 활용 분석

이 예에서는 값 배열에 대해 ​​​​" 1~5"에서는 콜백 함수를 사용하여 각 요소를 실행하고 두 번 처리합니다.

이 때문에 "result"의 반환 값으로 결과가 2배가 되는 배열을 할당하여 출력 결과가 자신의 2배가 되는 것을 볼 수 있습니다.

처음에는 for문이나 while문을 이용하여 루프를 작성하는 것이 전부였지만, map을 이용하면 아주 간단한 프로그램으로 구현할 수 있어서 매우 편리합니다!

JavaScript 배열 처리를 위한 map() 메소드 활용 분석에는 map() 메서드와 유사한 Reduce() 메서드도 있습니다. Reduce() 메서드에 대해서는 다음 문서를 참조하세요. JavaScript 배열 처리를 위한 map() 메소드 활용 분석에서 Reduce를 사용하는 방법

reduce()에 대해 및 map() 메서드의 차이점은 다음 문서를 참조하세요. JavaScript 배열 처리를 위한 map() 메소드 활용 분석에서 map()과 Reduce()의 차이점은 무엇인가요?

map()과 forEach 문의 차이점은 무엇인가요?

map()은 forEach 문과 유사하며 동일한 방식으로 배열에서 작동할 수 있습니다.

구체적인 예를 살펴보겠습니다

//forEach
[1,2,3].forEach(function( value ) {
   console.log( value );
});
 
 
//map
[1,2,3].map(function( value ) {
    console.log( value );
});
로그인 후 복사

출력 결과는 동일합니다

JavaScript 배열 처리를 위한 map() 메소드 활용 분석

이 예에서 볼 수 있듯이 forEach와 map으로 얻은 결과는 동일합니다.

그럼 차이점은 무엇인가요? 가장 큰 차이점은 반환 값이 있는지 여부입니다.

즉, forEach는 단지 실행 메소드일 뿐이고, map은 실행 후 그 결과를 배열 데이터로 반환합니다.

forEach의 예시를 자세히 살펴보겠습니다.

var result = [1,2,3].forEach(function( value ) {
 
    return value * 2;
 
});
 
console.log( result );
로그인 후 복사
출력 결과는 다음과 같습니다.


forEach의 반환 값을 볼 수 없습니다. JavaScript 배열 처리를 위한 map() 메소드 활용 분석

map:

var result = [1,2,3].map(function( value ) {
 
    return value * 2;
 
});
 
console.log( result );
로그인 후 복사
출력 결과는


실행 결과로 배열 데이터를 반환할 수 있습니다. JavaScript 배열 처리를 위한 map() 메소드 활용 분석

map 콜백 함수

전에 콜백 함수에는 매개변수가 하나만 있는 것을 보았지만 실제로는 세 개의 매개변수와 함께 사용할 수 있습니다!

数组数据.map( function( value, index, array ) {

});
로그인 후 복사

Value는 배열의 값입니다.

index는 배열의 인덱스 번호입니다.

array는 현재 처리 중인 배열입니다.

예를 들어 아래 예에서는 매개변수 index를 사용하여 값을 설정합니다. 인덱스 번호를 짝수로 두 배로 늘렸습니다

var items = [1,2,3,4,5,6,7,8,9];
var result = items.map( function( value, index, array ) {
    if( index % 2 !== 0 ) {
        return value * 2;
    }
    else {
        return value;
    }
});
console.log( result );
로그인 후 복사

출력은 다음과 같습니다

또한 map에는 원본 배열 데이터를 변경하지 않는 기능이 있는데 세 번째 매개변수 배열을 사용하면 원본 데이터도 변경할 수 있습니다! JavaScript 배열 처리를 위한 map() 메소드 활용 분석

var items = [1,2,3,4,5,6,7,8,9];
 
items.map( function( value, index, array ) {
 
    array[index] = value * 2;
 
});
 
console.log( items );
로그인 후 복사

출력은 다음과 같습니다

과거에는 "map"의 첫 번째 매개변수로 "콜백 함수"를 지정했지만 실제로는 두 번째 매개변수로 "객체"를 지정할 수 있습니다! JavaScript 배열 처리를 위한 map() 메소드 활용 분석

var array = [ 数组数据 ]; 
//指定对象为第2个参数
array.map( 回调函数, 对象 );
로그인 후 복사

이렇게 하면 지정된 배열과 객체를 결합하여 보다 편리한 프로그래밍이 가능해집니다.

예를 들어 아래 예시에서는 food 단순 객체 foodList가 맵의 두 번째 매개변수로 지정됩니다.

var foodList = {
  '苹果': 45,
  '哈密瓜': 50,
  '猕猴桃': 60,
  '草莓': 40
};
数组.map( function( value ) {
 
}, foodList );
로그인 후 복사

객체에서 키워드를 지정하고 "가격"을 반환합니다.

var foodList = {
  '苹果': 45,
  '哈密瓜': 50,
  '猕猴桃': 60,
  '草莓': 40
};
var order = ['草莓', '猕猴桃'];
var result = order.map( function( value, index, array ) {
    return this[value];
 
}, foodList );
console.log( result );
로그인 후 복사
출력은 다음과 같습니다

이 예에서는 키가 배열 순서로 설정되어 있는 것을 볼 수 있으며, 이로부터 객체가 소유한 키와 일치하는 "가격"을 얻어 배열로 반환합니다. JavaScript 배열 처리를 위한 map() 메소드 활용 분석

위 내용은 JavaScript 배열 처리를 위한 map() 메소드 활용 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿