[javascript] 배열 바꿔보기

sodalite·2021년 11월 5일
0

🖥 배열을 바꿔보자!

배열안의 숫자를 마지막 숫자 부터 순서대로 재배열 하여, 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;

🖥 사용함수 더 알아보기🕵🏼‍♀️ (MDN링크)

  • .pop(): 마지막 요소를 제거하여 그 값을 반환
  • .unshift() : 배열의 마지막에 요소를 추가해주는 함수
  • .push() : 배열의 앞에 요소를 추가해주는 함수
profile
초보 개발자!

0개의 댓글