배열안의 숫자를 마지막 숫자 부터 순서대로 재배열 하여, 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을 변수로 선언(pointarr.length를 for문을 돌리는 조건값으로 바로 지정하게 되면 arr의 요소가 줄어들면서 length가 줄어들기 때문에 for문을 돌리기 전, 변수로 지정해주기! )
step3for문을 돌리기 위해 조건값으로 이하와 같이 선언
+ 초기값 : let i = 0; //
+ 끝값 : i < arrlength; //초기arr의 길이만큼 루프를 돌리기 위해 변수arrlength로선언
+ 증가값 : i값이 1씩 증가하도록 하여, 다음 값과 비교
step4for문안에서 배열의 마지막 요소를 제거하기 위해 let finalArr = arr.pop();로 선언
step5if문에서 배열의 마지막 값(finalArr)이 조건:finalArr <= 50일 경우에 그 값을 배열의 앞에 추가하기 위한 배열.unshift(추가할요소)로 선언
step6if문에서 배열의 마지막 값(finalArr)이 조건:finalArr > 50일 경우에 그 값을 배열의 마지막에 추가하기 위한 배열.push(추가할요소)로 선언
step7최종적으로 재배열된 배열을 함수에 반환하게 위해, return result;