배열안의 숫자를 마지막 숫자 부터 순서대로 재배열 하여, 50보다 작거나 같으면 배열의 왼쪽에 오게 추가, 50보다 크며는 배열의 오른쪽에 오게 추가해보자
function changeArrayElements(arr) { let result = []; let arrLength = arr.length; for (let i = 0; i < arrLength; i++) { let finalArr = arr.pop(); if (finalArr <= 50) { result.unshift(finalArr); }else if (finalArr > 50) { result.push(finalArr); } } return result; } console.log(changeArrayElements([80, 20, 6, 50, 70])); 콘솔에는 [ 20, 6, 50, 70, 80 ] 가 출력된다!
➡️ 생각했던 포인트는 👇
step1
재배열해주기 위한 let result = [];의 array를 선언
step2
배열안의 갯수만큼 실행을 하기 위해 배열의 길이를 구하는
arr.length을 변수로 선언(point
arr.length를 for문을 돌리는 조건값으로 바로 지정하게 되면 arr의 요소가 줄어들면서 length가 줄어들기 때문에 for문을 돌리기 전, 변수로 지정해주기! )
step3
for문을 돌리기 위해 조건값으로 이하와 같이 선언
+ 초기값 : let i = 0; //
+ 끝값 : i < arrlength; //초기arr의 길이만큼 루프를 돌리기 위해 변수arrlength로선언
+ 증가값 : i값이 1씩 증가하도록 하여, 다음 값과 비교
step4
for문안에서 배열의 마지막 요소를 제거하기 위해 let finalArr = arr.pop();로 선언
step5
if문에서 배열의 마지막 값(finalArr)이 조건:finalArr <= 50일 경우에 그 값을 배열의 앞에 추가하기 위한 배열.unshift(추가할요소)로 선언
step6
if문에서 배열의 마지막 값(finalArr)이 조건:finalArr > 50일 경우에 그 값을 배열의 마지막에 추가하기 위한 배열.push(추가할요소)로 선언
step7
최종적으로 재배열된 배열을 함수에 반환하게 위해, return result;