[JavaScript] Array(배열) 조작하기

Lown Kim·2021년 9월 28일
0
post-thumbnail

🐥자바스크립트 기초 문제 풀이



학습 목표
push, pop, unshift 메소드 그리고 index값을 이용해 배열을 조작할 수 있다.

Assignment

divideArrayInHalf 함수는 array를 인자로
받습니다. 이 array는 숫자 값으로 만 구성되어 있으며 총 5개의 요소(element)들로 구성되어 있습니다.
divideArrayInHalf 함수는 인자로 들어온 array 로 부터 새롭게 구성된 배열 result 을 리턴합니다.
array 요소들 중 10과 같거나 작은 값의 요소들은 result의 맨 앞으로, 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴 해주세요.
재구성이 되는 순서는 array의 맨 뒤 요소부터 맨 앞 요소까지 입니다. 즉, 배열의 뒷 요소 부터 재구성을 진행해주세요.
예를 들어, 인자로 들어오는 array가 다음과 같을 때,
[1, 20, 10, 5, 100]
result 배열이 만들어 지는 순서는 다음과 같습니다.
[100][5, 100]
[10, 5, 100][10, 5, 100, 20]
[1, 10, 5, 100, 20]
따라서 아래와 같은 result가 리턴 되어야 합니다.
[1, 10, 5, 100, 20]




나의 답안

function divideArrayInHalf(array){
  const result = [];
  //result라는 빈 배열을 하나 만들어주고
  
  for(let i = array.length - 1; i >= 0; i--){
  //요구대로 배열의 맨 마지막 인덱스부터 시작해서 맨 앞까지 한 놈씩 빼 본다. 
  //array.length-1 은 배열의 맨 마지막 인덱스를 의미.
  //i를 맨 마지막 인덱스부터 할당하고
  //i가 0보다 같거나 클때까지 1씩 줄여서 맨 앞으로 오기~
  
    if(array[i] <= 10){
    //만약 배열의 i번째 인덱스가 10보다 작거나 같다면
      result.unshift(array[i]);
      //그 놈을 unshift메소드로 result배열 맨 앞으로 배치!
    } else {
      result.push(array[i]);
      //그렇지않다면 그 놈을 push메소드로 result배열 맨 뒤로 배치!
    }
  }
return result;
//그렇게 재구성된 새 배열을 return해주면 끄읏
}

이렇게 작성하고 나서
divideArrayInHalf([1, 20, 10, 5, 100])
라고 함수를 호출하면
[1, 10, 5, 100, 20]
라는 결과가 아주 멋지게 출력된다.

push메소드는 배열의 뒷부분에 요소를 삽입하고
unshift메소드는 배열의 앞부분에 요소를 삽입한다.
pop메소드는 배열의 마지막 요소를 제거한다!
push나 unshift같은 메소드가 아니라도 기본적으로배열이름[0] = "삽입내용"; 와 같이 요소를 삽입할 수 있다.
언급한 메소드들 외 reverse, shift, splice 등 다양한 메소드들이 존재하고, 경우에 맞게 검색해서 사용할 수 있겠다.

0개의 댓글