[JS] map( ) /filter( ) /reduce( )

전상욱·2021년 5월 17일
2

JavaScript

목록 보기
6/17
post-thumbnail

자바스크립트 데이터 타입

  • 기본형
    Number, Boolean, Null, undefined

  • 참조형
    Array, Object, Function

기본형

  • 기본형은 값을 복사한다.
var x = 100;
var y = x;
x = 99;
console.log(y);  // 100

y의 값은 변경되지 않음

참조형

  • 참조형은 주소값을 복사한다.
var x = {count: 100};
var y = x;
x.count = 99;
console.log(y.count);  // 99

x와 y는 동일한 참조를 담고 있고, 동일한 객체를 가르킨다.

var arr1 = [0, 1, 2, 3];
var arr2 = arr1;
arr2.push(4);
console.log(arr1 === arr2);  // true

arr2 = arr1 와 같이 대입을 통해 복사 한 뒤, arr2push(4)를 하였지만,
arr1arr2 와 같이 [0, 1, 2, 3, 4] 의 배열을 갖게 된다.

자바스크립트 메서드 map() / filter()

map()

map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열로 반환한다.

기본형
const arr1 = [1, 4, 9, 16];
const map1 = arr1.map(x => x * 2);
console.log(map1);  // [2, 8, 18, 32]
구문
Array.prototype.map(callback, [thisArg]);
// callback: function(currentValue, index, array)

filter()

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.

기본형
const text = ['Hello', '안녕', 'Hi', 'Bye'];
const result = text.filter(txt => txt.length > 2);
console.log(result);  // ['Hello', 'Bye']

map()과 같은 개념으로 사용할 수 있고, 함수의 이름 그래도 필터링에 적합하다.

profile
더 높은 곳으로

0개의 댓글