slice는 이미 존재하는 배열을 똑같이 복제하기도 하고, 존재하는 배열에서 원하는 인덱스만큼 따로 추출해서 새로운 배열로 만들어준다
splice와 slice는 언뜻 비슷해 보이지만 이 둘의 가장 큰 차이점은 splice() 메서드는 기존에 존재하는 배열의 요소를 수정 및 삭제 추가를 하면 원본 배열 자체를 수정하게 되는 것이며 slice() 메서드는 수정 및 삭제를 해도 원본 배열이 아닌 복사본을 만들어서 새로운 배열 객체로 반환해준다.
그래서 위에서 기존 배열에서 순서를 바꾸지만 원본 배열 자체에 영향을 주고 싶지 않다면
array 다음에 slice로 복제본을 하나 생성 후, 이 복제본에 sort 메서드를 통해 새롭게 정렬해주면 된다
* a-b는 오름차순 / b-a는 내림차순
숫자는 위처럼 a-b로 정렬이 가능하고
문자의 경우, a [0]. charCodeAt()으로 문자열의 첫 글자를 보고 정렬을 할 수 있다. (띄어쓰기가 앞에 있으면 제일 첫 번째 순서가 된다)
만약 문자열의 앞 글자가 a로 모두 같을 경우엔 localeCompare을 사용하자
반응형
'IT 개발' 카테고리의 다른 글
Typescript 타입 정리 (0) | 2021.09.21 |
---|---|
강의의 댓글을 보고 해결책 만들기 (if와 else if) (0) | 2021.09.20 |
배열에 값 채우기 Array().fill().map (0) | 2021.09.17 |
CRA 리액트 웹팩 버전 안 맞는 에러 : npm start 안될 때 (모든 걸 다 시도했다) (2) | 2021.09.16 |
git 에러 : 'origin' does not appear to be a git repository 해결 (2) | 2021.09.15 |