TIL 05.03

blueprint·2022년 5월 3일
0

Array

  • 배열은 데이터의 집합이며, 여러 개의 값을 하나의 이름으로 묶어 사용할 수 있도록 함
  • 배열의 각 값은 원소(element) 혹은 요소라고 칭함
  • 배열의 크기는 length 프로퍼티를 통해 확인 가능
  • 배열의 생성자 함수에 숫자를 하나만 넣을 경우 인스턴스의 길이를, 여러 숫자를 넣을 경우 배열의 원소를 뜻함
  • 리터럴 표현도 사용 가능( [ ] )
  • 괄호 + 인덱스를 통해 원소에 접근 가능(존재하지 않는 원소에도 가능), 값 저장도 가능
  • 리터럴 생성과 동시에 원소에 접근 가능 ([1,2,3,][0] === 1)

다양한 메서드 사용 확인해 보기

1️⃣ pop()

배열에서 마지막 요소를 제거하고 그 제거된 요소를 반환
제거한 요소를 보관하고 싶다면 변수에 담아 둘 수 있음
빈 배열에 pop 호출 시 undefined 호출

ex) 철수가 심부름을 받았습니다! 어머니께서 마늘, 양파, 배추를 사 오라고 하는군요. 집에 왔더니 오늘 필요한 재료는 배추라고 합니다! 어머니에게 배추를 주세요!

2️⃣ splice()

배열의 기존 요소를 삭제 및 교체하거나 새 요소를 추가하여 배열의 내용을 변경

  • splice(인덱스, 개수) : 인덱스부터 지정 개수만큼 삭제
  • splice(인덱스 , 0 , ‘추가 요소') : 요소를 인덱스 자리에 추가
  • splice(인덱스, 개수, ‘추가 요소’) : 인덱스 자리에 지정 개수만큼 제외 후 요소 삽입해 교체

3️⃣ slice()

두 개의 인자를 전달하여 배열 안에 있는 요소를 새로운 배열로 반환
원본 요소가 바뀌지 않는 것이 포인트!
특히 두 번째 인자에 해당하는 인덱스의 아이템은 포함하지 않음

4️⃣ sort()

ex) 다음 배열에서 sort 함수를 이용해 원소의 product의 값을 기준으로 가나다순으로 정렬해 보세요.

var studentList = [
  {
    id: 1,
    product: "연필",
    stock: 10
  },
  {
    id: 2,
    product: "색종이",
    stock: 33
  },
  {
    id: 3,
    product: "체육복",
    stock: 2
  },
  {
    id: 4,
    product: "만년필",
    stock: 0
  }
];

product의 값을 기준으로 정렬이기 때문에 가나다순으로 출력되도록 해야 함
(유니코드로 비교하기 때문에 별도의 파라미터가 필요하지 않음)

매개변수 ab를 통해 product 값에 접근하여 두 요소를 비교하도록 하는 조건문 작성

  • a.product < b.product
    : a가 b보다 더 작은지 판별하여 true일 경우 a를 앞으로 보냄
  • b.product < a.product
    : 위의 조건을 만족하지 못할 경우 b가 a보다 더 작은지 판별하여 true일 경우 b를 앞으로 보냄
  • 결과적으로 작은 것들이 앞으로 가기 때문에 오름차순 정렬이 됨

내림차순으로도 정렬해 보기

  • a.product > b.product
    : a가 b보다 더 큰지 판별하여 true일 경우 a를 앞으로 보냄
  • b.product > a.product
    : 위의 조건을 만족하지 못할 경우 b가 a보다 더 큰지 판별하여 true일 경우 b를 앞으로 보냄

0개의 댓글