JavaScript: reduce
1부터 5까지의 합을 구하고 싶다면, 아래와 같이 쓸 수있을 것이다. const num = [1, 2, 3, 4, 5]; let sum = 0; for (var i = 0; i < num.length; i++) { sum += num[i]; } console.log(sum); 이것은 reduce 함수로 다시 쓴다면, const num = [1, 2, 3, 4, 5]; let sum = num.reduce(function (total, v) { return total + v; }, 0); console.log(sum); 이렇게 표현할 수 있다. 2번째 인자인 0은, total의 초기값을 설정해 주는 값이다. 브라우저의 결과는 다음과 같다.
2020. 5. 30.
JavaScript: filter
어떠한 배열에서 2로나눈 나머지가 0이 아닌 값을 찾고 싶다고 해보자. const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let s = []; for (var i = 0; i < num.length; i++) { if (num[i] % 2 !== 0) { s.push(num[i]); } } console.log(s); 이렇게 for문과 if문을 이용하여 찾을 수 있을 것이다. 이때, filter함수를 이용하게되면 편리하다. filter는 결과가 true인 것만 리턴해주는 함수이다. filter를 이용해서 다시 작성해보면, const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let s = num.filter(function (n) { return ..
2020. 5. 26.
JavaScript: map
만약, 내가 어떠한 배열 안의 값들에 2를 곱해주고 그 값을 다시 넣고싶다면, for문을 사용하여 이렇게 작성할 수 있을 것이다. let num = [2, 4, 6, 8]; for (var i = 0; i < num.length; i++) { num[i] = num[i] * 2; } console.log(num); 그러나 map()을 이용하게 된다면 훨씬 간편할 것이다. map()함수는 함수를 인자로 필요로 하며, 함수를 실행하여 새로운 배열로 리턴해준다. let num = [2, 4, 6, 8]; num = num.map(function (n) { return n * 2; }); console.log(num); 결과는 다음과 같다. 하지만, 이 결과인 num은 처음의 배열과 다르다. 같게하고싶다면 재정..
2020. 5. 25.