작성완료

자바스크립트 map & filter & reduce
This blog explains JavaScript data types and methods: map, filter, and reduce.
자바스크립트 데이터 타입
기본형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 와 같이 대입을 통해 복사 한 뒤, arr2에 push(4)를 하였지만,
arr1 도 arr2 와 같이 [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()과 같은 개념으로 사용할 수 있고, 함수의 이름 그래도 필터링에 적합하다.