sanguk.dev
작성완료
자바스크립트 map & filter & reduce

자바스크립트 map & filter & reduce

This blog explains JavaScript data types and methods: map, filter, and reduce.

JavaScript

자바스크립트 데이터 타입

기본형Number, Boolean, Null, undefined참조형Array, Object, Function

기본형

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

y의 값은 변경되지 않음

참조형

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

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

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

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

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

map()

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

javascript
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() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.
기본형

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

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