일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- react
- FlatList 무한 스크롤
- JavaScript
- CSS
- React 테스트코드
- nest.js 순환 참조
- TodoList 테스트 코드
- 개발
- react testing library 비동기 테스트 사용법
- ScrollView 무한 스크롤
- mock api를 이용한 react 테스트
- React Testing Library
- javascript 테스트
- TDD방식으로 리액트 테스팅
- nest.js 순환 종속성
- 리액트 테스트 코드
- nest.js forwardRef
- 첫코딩
- 프로젝트 배포하기
- react jest
- 비동기 테스트
- HTML
- 리액트 테스트
- jest
- react 테스트
- nest.js circular Dependency
- 첫 코딩
- Testing-library/react
- react native 무한스크롤
- mock api 사용법
- Today
- Total
성장을 위한 기록
중급 기본 정리 (with 앙마코딩) 배열 매서드 Array 2탄 본문
이 글은 인프런에서 앙마코딩님의 무료 강좌를 학습한 내용입니다. (자바스크립트 중급 강좌)
문제 시 바로 삭제하겠습니다.
출처 [무료] 자바스크립트 중급 강좌 대시보드 - 인프런 | 강의 (inflearn.com)
sort() : 배열 재정렬
배열을 재정렬할 때 사용한다. 단 배열 자체가 변하니 주의해야 한다
정렬 방식은 크기 순서로 사용하게 된다.
let a = [1,3,2,5,4];
a.sort(); // [1,2,3,4,5]
let b = [ 'a', 'c', 'b', 'e', 'd'];
b.sort(); // ['a','b','c','d','e']
/* 숫자가 2자리 수일 때 */
let c = [ 27, 8, 5, 13];
c.sort(); // [13,27,5,8]
앞선 예제처럼 크기 순서대로 배열을 재 정렬하게 된다.
그런데 숫자가 2자리 수인 배열은 정렬이 이상하다. 그 이유는 배열을 정렬할 때 문자열로 사용하기 때문에 숫자 13이 아닌 문자열 "13"에서 1만 확인하고 넘어갔기 때문이다.
이를 제대로된 정렬을 하고 싶다면 함수를 이용하면 된다.
sort()
는 인수를 함수로 받기 때문에 숫자를 비교하는 함수를 사용하여 정렬을 할 수 있다.
let c = [ 27, 8, 5, 13];
function fn(a,b){
return a - b;
}
c.sort(fn); // [5,8,13,27]
위 예제를 통해 원하는 배열의 재정렬을 할 수 있다.
함수 내용을 간단하게 설명하면 두 수를 인수로 받아 양수, 0 , 음수를 반환하여 값을 비교한다.
이런 항수를 사용하기도 하지만 "Lodash"라는 라이브러리를 사용한다.
reduce() : 배열을 순회하며 값을 계산
인수로 함수를 받는다.
배열의 모든수를 합치는 방법은 여러 방법이 있었다. 그 중 reduce()
를 이용하는 방법도 있다.
let arr = [1,2,3,4,5];
const result = arr.reduce((prev, cur) => { // prev는 누적된 계산값, cur은 현재값으로 배열의 요소를 순차적으로 받는다.
return prev + cur;
}, 0);
// 결과값은 15 ( 0 + 1+ 2 + 3 + 4 + 5)
/*
let result = 0;
arr,forEach((num)=>{
result += num; // 이 forEach()와 동일
});
*/
forEach()
를 사용하는 코드보다 reduce()
코드가 간편해 보인다.reuduce()
에서 함수 다음에 나오는 값은 초깃값을 나타낸다.
그 밖에 for, for of
등을 사용 할 수도 있다.
reduceRight(); reduce()
와 동일하다. 다만 배열의 끝부터 실행한다는 점이 다르다.
'FE (Front End) (구) > javascript' 카테고리의 다른 글
자바스크립트 중급(with 앙마코딩) 나머지 매개변수, 전개 구문 (0) | 2022.03.15 |
---|---|
중급 기본 정리 (with 앙마코딩) 구조 분해 할당 (0) | 2022.03.15 |
중급 기본 정리 (with 앙마코딩) 배열 매서드 Array 1탄 (0) | 2022.03.14 |
중급 기본 정리 (with 앙마코딩) 문자열 매소드 (0) | 2022.03.12 |
js 중급 기본 정리 (with 앙마코딩) 숫자 매서드 Number, Math (0) | 2022.03.11 |