본문 바로가기
PROGRAMMING/JavaScript

[JS] 배열 관련 메서드

by 안녕나는현서 2021. 11. 12.
728x90

배열

  • 키와 속성들을 담고 있는 참조 타입 객체
  • 순서 보장
  • 주로 대괄호[] 이용하여 생성, 0을 포함한 양의 정수 인덱스로 특정 값에 접근
  • 배열의 길이는 array.length 형태로 접근
  • 배열의 마지막 원소는 array.length - 1 로 접근 (-1로 접근 불가)

 

배열 관련 메서드

  • reverse: 원본 배열의 요소들의 순서를 반대로 정렬
  • push: 배열의 가장 뒤에 요소 추가
  • pop: 배열의 가장 뒤에 요소 제거
  • unshift: 배열의 가장 앞에 요소 추가
  • shift: 배열의 가장 앞에 요소 제거
  • includes: 배열에 특정 값이 존재하는지 판별 후 참/거짓 반환
  • indexOf: 배열에 특정 값이 존재하는지 판별 후 인덱스 반환 (요소 없을 경우 -1 반환)
  • join: 배열의 모든 요소를 구분자를 이용하여 연결 (구분자 생략 시 쉼표를 기본 값으로 사용)
const numbers = [1, 2, 3, 4]

numbers.reverse()        // [4, 3, 2, 1]

numbers.push(0)         // [4, 3, 2, 1, 0]
numbers.pop()           // [4, 3, 2, 1]

numbers.unshift(5)     // [5, 4, 3, 2, 1]
numbers.shift()        // [4, 3, 2, 1]

numbers.includes(1)    // true
numbers.includes(100)  // false

numbers.indexOf(3)     // 1
numbers.indexOf(100)   // -1

numbers.join()         // 4,3,2,1
numbers.join('')       // 4321

 

Array Helper Methods

  • 배열을 순회하며 특정 로직을 수행하는 메서드
  • 메서드 호출 시 인자로 callback 함수를 받음

 

const array = [1, 2, 3, 4]

- forEach(element[, index[, array]])

  • element: 배열의 요소
  • index: 배열 요소의 인덱스
  • array: 배열 자체
  • 배열의 각 요소에 대해 콜백 함수를 한 번씩 실행
  • 반환 값 없음
array.forEach((num, index) => {
  console.log(num, index)
  // 1 0
  // 2 1
  // 3 2
  // 4 3
})

 

- map(element[, index[, array]])

  • 콜백 함수의 반환 값을 요소로 하는 새로운 배열 반환
  • 기존 배열 전체를 다른 형태로 바꿀 때 유용
const result = array.map((num) => {
  return num * 2
})

console.log(result) // [2, 4, 6, 8]

 

- filter(element[, index[, array]])

  • 콜백 함수의 반환 값이 참인 요소들만 모아서 새로운 배열 반환
  • 기존 배열의 요소들을 필터링할 때 유용
const result = array.filter((num) => {
  return num % 2
})

console.log(result) // [1, 3]

 

- reduece(acc, element[, index[, array]])[, initialValue]

  • 콜백 함수의 반환 값들을 하나의 값(acc)에 누적 후 반환
  • acc: 이전 콜백 함수의 반환 값이 누적되는 변수
  • initialValue: 최초 콜백 함수 호출 시 acc에 할당되는 값, default 값은 배열의 첫 번째 값
    • 빈 배열의 경우, initialValue를 제공하지 않으면 에러 발생
const result = array.reduce((acc, num) => {
  return acc + num
}, 0)

console.log(result) // 10

 

- find(element[, index[, array]])

  • 콜백 함수의 반환 값이 참이면 해당 요소 반환
  • 찾는 값이 배열에 없으면 undefined 반환
const result = array.find((num) => {
  return num === 2
})

console.log(result) // 2

 

- some(element[, index[, array]])

  • 배열의 요소 중 하나라도 판별 함수를 통과하면 참 반환
  • 모든 요소가 모두 통과하지 못하면 거짓 반환
  • 빈 배열은 항상 거짓 반환
const result = array.some((num) => {
  return num % 2
})

console.log(result) // true

 

- every(element[, index[, array]])

  • 배열의 모든 요소가 판별 함수를 통과하면 참 반환
  • 배열의 요소 중 하나라도 통과하지 못하면 거짓 반환
  • 빈 배열은 항상 참 반환
const result = array.every((num) => {
  return num % 2
})

console.log(result) // false

 

728x90

'PROGRAMMING > JavaScript' 카테고리의 다른 글

[JS] AJAX, Concurrency model, Promise, Axios  (0) 2021.11.14
[JS] 함수  (0) 2021.11.12
[JS] 조건문, 반복문  (0) 2021.11.12
[JS] 식별자, 변수, 타입, 연산자  (0) 2021.11.12
[JS] DOM 조작 (선택, 변경)  (0) 2021.11.12

댓글