1. for 반복문 사용
const reverse = [];
for(let i=arr.length-1; i >= 0; i--) {
reverse.push(arr[i]);
반복문을 사용하여 배열을 거꾸로 뒤집었습니다.
-> .push와 .shift로 뒤집으려 했는데 이해가 부족한듯 싶다.
계속 저렇게 거꾸로 값들을 반복적으로 불러와서 다른 저장배열에 값을 푸시했어야했다.
난 기존 배열에서 맨 첫값을 맨 뒤에 push 해주고 그 자리의 값을 삭제하려 했는데...
값이 남아 있는듯 하다.
2. reverse() 함수
reverse() 함수는 배열의 순서를 거꾸로 만들어 줍니다.
array.reverse()
이 함수는 이 함수를 호출한 배열을 거꾸로 뒤집고, 그 배열을 가리키는 참조값을 반환합니다.
따라서, 이 함수를 실행시키면 원본 배열이 변형됩니다.
-> 이 함수 써서 뒤집었다.
3. reverse() 함수 - 원본 배열 유지하기
reverse() 함수를 사용하면 원본 배열이 변형됩니다.
원본 배열은 그대로 유지하고, 리턴되는 값만 변경하고 싶을 때는
원본 배열을 복사해서 사용해야 합니다.
const reverse = [...arr].reverse();
위 예제는 원본 배열을 복사해서,
복사한 배열에 reverse() 함수를 적용하였습니다.
[...arr].reverse()
배열을 복사하기 위해서 spread operator(전개 연산자)를 사용하였습니다.
'...'이 spread operator(전개 연산자)입니다.
spread operator(전개연산자)는 배열이나 객체에서 element들을 꺼내어, 복사해줍니다.
즉, 위 코드에서
[...arr] 구문은, 원본 배열인 arr를 복사한 새로운 배열입니다.
새로 복사한 [...arr]를 reverse 했으니,
원본 배열인 arr는 변경이 되지 않겠죠?
설명출처 : https://hianna.tistory.com/448
'🗃️javascript > 프로그래머스' 카테고리의 다른 글
피자 나눠 먹기 (1)(Lv.0)(반올림, 올림, 내림 함수 이용) (0) | 2022.12.28 |
---|---|
배열 두배 만들기(Lv.0)[배열.map((v)=> 조건 )사용해보기] (0) | 2022.12.28 |
머쓱이보다 키 큰 사람(Lv.0)(array.filter() 사용해보기) (0) | 2022.12.28 |
배열의 평균값(Lv. 0)( reduce()에 대해 알아보자 ) (0) | 2022.12.27 |
각도기(Lv.0)( return문과 중괄호는 한세트다) (0) | 2022.12.27 |