JavaScript | pre course 15-배열 조작하기

🙋목표: 자바스크립트 기초를 공부하고 부족한 부분을 채우자.

1. 요소 추가 및 수정


🙌 시작하기 전에 요소가 없는 텅텅빈 배열을 만들어보자.

const cities = [];

텅텅빈 변수에 우리가 index 를 통해서 데이터를 집어 넣을 수 있다.

cities[0] = "서울";
cities[1] = "대전";
cites[3] = "대구";

이것을 출력해 보면, 총 6개의 배열의 길이가 만들어 졌고, 아무것도 할당하지 않은 배열의 자리는 undefined 로 출력이 되었으며 각각 ["서울","대전", undefined,"대구"]로 출력이 되는 것을 확인할 수 있다.

또한 수정도 가능하다.

cities[3] = "울산";
console.log(cities[3]); //울산

2. push / unshift 함수


다른 방법으로도 요소를 추가할 수 있다.

let cities = [];
cities.push("제주", "창원");
cities.unshift("강원");

push(), unshift() 메소드는 배열에 요소를 추가시켜주는 함수다.

둘의 차이점은 무엇일까? 바로 배열에 추가되는 위치가 다르다는 것이다.

push 는 배열의 맨 마지막 부분에 추가되고,

unshift 는 배열의 맨 앞 부분에 추가된다.

콘솔창에서 확인해 보자.🚀

console.log(cities);
["강원", "제주", "창원"];

이처럼 배열에는 기본적으로 제공하는 내장 메소드들이 굉장히 많이 있다.

(맥락 정리) 배열 조작 방법

  • index로 접근하여 추가 또는 수정
  • 내장 메소드 push, unshift 등을 이용

3. pop메소드


배열의 요소를 추가 하는 것 말고, 제거하는 것도 있다.

cities.pop();
console.log(cities)
["강원", "제주"];

4. Assignment


divideArrayInHalf 함수를 다음과 같이 구현해주세요.

  • 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) {
        let result = [];
        for (let i = array.length; i >= 0; i--) {
          if (array[i] <= 10) {
            result.unshift(array[i])
          } else if (array[i] > 10) {
            result.push(array[i])
          }
        }
        return result;
      }

      위 코드에서 i >= 0 이 가장 헷갈렸는데 간단하게 생각하자.

      i >= 0 이것은 결국 i[0] 번째도 조건문에서 검사를 하겠다로 받아들이자. 익숙치 못해서 생각정리하는데 시간이 걸렸는데 여러번 확인해 보면서 진행하면 좋을 듯하다.✍️

좋은 웹페이지 즐겨찾기