[JavaScript 심화] 배열 메서드 (배열 변형)

2025. 11. 10. 22:35·React/JavaScript 심화
배열의 데이터를 필터링, 가공, 정렬, 문자열로 변환할 때 사용하는 메서드들을 정리해봄
이들은 원본 배열을 변경하거나 새로운 배열을 만들어내는 변형 메서드임

1. filter()

조건을 만족하는 요소만 남겨 새로운 배열로 반환
let arr1 = [
  { name: "도서", hobby: "코딩" },
  { name: "이도서", hobby: "코딩" },
  { name: "doseo", hobby: "게임" },
];

const gamePeople = arr1.filter((item) => {
  if (item.hobby === "게임") return true;
});
console.log(gamePeople);

const gamePeople1 = arr1.filter((item) => item.hobby === "게임");
console.log(gamePeople1);
  • 조건식이 `true`인 요소만 모아 새로운 배열 반환
  • 원본 배열 변경하지 않음
  • 검색/필터 기능 구현시 자주 사용

2. map()

모든 요소를 순회하며 콜백의 반환값으로 새로운 배열 생성
let arr2 = [1, 2, 3];
const mapResult1 = arr2.map((item, idx, arr) => {
  return item * 2;
});
console.log(mapResult1); // [2, 4, 6]

let names = arr1.map((item) => item.name);
console.log(names); // ["도서", "이도서", "doseo"]
  • 배열의 모든 요소를 가공해 새로운 배열 반환
  • 원본 배열 변경하지 않음
  • `forEach`처럼 순회하지만 return 결과를 모은다는 점이 다름

3. sort()

배열의 요소를 사전순(문자 기준)으로 정렬
숫자를 올바르게 정렬하려면 비교 함수 필요
let arr3 = ["b", "a", "c"];
arr3.sort();
console.log(arr3); // ["a", "b", "c"]

let arr4 = [10, 3, 5];
arr4.sort((a, b) => a - b); // 오름차순
console.log(arr4); // [3, 5, 10]

let arr5 = [10, 3, 5];
arr5.sort((a, b) => b - a); // 내림차순
console.log(arr5); // [10, 5, 3]
  • 원본 배열이 변경됨
  • 문자열은 기본적으로 사전순으로 정렬
  • 숫자는 비교 함수 `(a, b) => a - b` 형태로 정렬하는 것이 일반적

4. toSorted()

`sort()`와 동일하지만, 원본 배열은 유지하고 새로운 배열을 반환
let arr6 = ["c", "a", "b"];
const sorted = arr6.toSorted();

console.log(arr6);  // ["c", "a", "b"]
console.log(sorted); // ["a", "b", "c"]
  • `sort()`의 불변 버전
  • 원본 배열 변경하지 않음

5. join()

배열의 모든 요소를 하나의 문자열로 합쳐 반환
let arr7 = ["hi", "im", "doseo"];
const joined = arr7.join(" ");
console.log(joined); // "hi im doseo"
  • 구분자를 지정 가능
arr7.join(", "); // "hi, im, doseo"
arr7.join("");   // "hiimdoseo"
  • 주로 텍스트 조합, 템플릿 문자열 제작 시 사용

 

메서드 설명 반환값 원본 변경 사용 예시
`filter()` 조건 만족 요소만 추출 새로운 배열 ❌ 카테고리/검색 필터
`map()` 각 요소 변환 후 반환 새로운 배열 ❌ 데이터 변환
`sort()` 요소 정렬 (문자/숫자) 정렬된 배열 ✅ 순서 정렬
`toSorted()` 정렬하되 원본 보존 새로운 배열 ❌ 불변 정렬
`join()` 요소를 문자열로 결합 문자열 ❌ 문장, 출력용

'React > JavaScript 심화' 카테고리의 다른 글

[JavaScript 심화] 동기와 비동기  (0) 2025.11.11
[JavaScript 심화] Date 객체  (0) 2025.11.11
[JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)  (0) 2025.11.10
[JavaScript 심화] 배열 메서드 (요소 조작)  (0) 2025.11.10
[JavaScript 심화] 순회 정리  (0) 2025.11.10
'React/JavaScript 심화' 카테고리의 다른 글
  • [JavaScript 심화] 동기와 비동기
  • [JavaScript 심화] Date 객체
  • [JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)
  • [JavaScript 심화] 배열 메서드 (요소 조작)
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    Til
    객체지향
    javascript 기본
    ios앱개발자
    DART
    코딩테스트Level.1
    CLASS
    코딩테스트 level.1
    React
    함수
    html
    javascript
    Swift
    function
    내일배움캠프
    iOS앱개발
    ios
    storyboard
    코딩테스트
    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 심화] 배열 메서드 (배열 변형)
상단으로

티스토리툴바