[JavaScript] 자바스크립트 자주 사용하는 함수 정리

2025. 6. 19. 00:16·Frontend

1. 배열 관련 함수

1-1. 배열 생성 & 복사

  • Array(n).fill(x)
    • 길이가 n이고 모든 값이 x인 배열 생성
    const arr = Array(5).fill(0);  // [0, 0, 0, 0, 0]

 

  • [...arr]
    • 배열 얕은 복사 (spread 연산자)
    const copy = [...arr];

 

  • Array.from(iterable)
    • 이터러블을 배열로 변환
    const result = Array.from("abc");  // ['a','b','c']

1-2. 배열 탐색

  • arr.includes(x) → 배열에 x가 포함돼 있는지 확인
const arr = [1, 2, 3];
console.log(arr.includes(2));  // true

 

  • arr.indexOf(x) → x의 인덱스 반환 (없으면 -1)
const arr = [1, 2, 3];
console.log(arr.indexOf(3));  // 2

 

  • arr.find(fn) → 조건을 만족하는 첫 번째 요소 반환
const arr = [1, 2, 3];
console.log(arr.find(x => x > 1));  // 2

 

  • arr.findIndex(fn) → 조건을 만족하는 요소의 인덱스 반환
const arr = [1, 2, 3];
console.log(arr.findIndex(x => x === 2));  // 1

 

  • arr.some(fn) → 하나라도 true면 true
const arr = [1, 2, 3];
console.log(arr.some(x => x > 2));  // true

 

  • arr.every(fn) → 모두 true면 true
const arr = [1, 2, 3];
console.log(arr.every(x => x > 0));  // true

1-3. 정렬 & 반전

  • arr.sort((a, b) => a - b) → 오름차순 정렬
const arr = [3, 1, 2];
arr.sort((a, b) => a - b);
console.log(arr);  // [1, 2, 3]

 

  • arr.sort((a, b) => b - a) → 내림차순 정렬
const arr = [1, 3, 2];
arr.sort((a, b) => b - a);
console.log(arr);  // [3, 2, 1]

 

  • arr.reverse() → 배열 뒤집기 (원본 배열 변경)
const arr = [1, 2, 3];
arr.reverse();
console.log(arr);  // [3, 2, 1]

1-4. 삽입 & 제거

  • arr.push(x) / arr.pop() → 끝에 요소 추가 / 제거
const arr = [1, 2, 3];
arr.push(4);           // x = 4
console.log(arr);      // [1, 2, 3, 4]

arr.pop();
console.log(arr);      // [1, 2, 3]

 

  • arr.unshift(x) / arr.shift() → 앞에 요소 추가 / 제거
const arr = [2, 3];
arr.unshift(1);        // [1, 2, 3]
arr.shift();           // [2, 3]

 

  • arr.splice(start, deleteCount, ...items) → 중간 요소 제거 또는 삽입
const arr = [1, 2, 3, 4];
arr.splice(1, 2, 9);   // [1, 9, 4]

 

  • arr.slice(start, end) → start부터 end 이전까지 복사 (원본은 변경되지 않음)
const arr = [1, 2, 3, 4];
const sliced = arr.slice(1, 3);   // [2, 3]

 


2. 문자열 관련 함수

2-1. 탐색 및 판별

  • str.includes(x) → 문자열에 x가 포함돼 있는지 확인
const str = "hello";
console.log(str.includes("el"));  // true

 

  • str.indexOf(x) / str.lastIndexOf(x)
const str = "banana";
console.log(str.indexOf("a"));       // 1
console.log(str.lastIndexOf("a"));   // 5

 

  • str.startsWith(x) / str.endsWith(x)
const str = "frontend.js";
console.log(str.startsWith("front"));  // true
console.log(str.endsWith(".js"));      // true

2-2. 변형

  • str.trim() → 앞뒤 공백 제거
const s = "  hi  ";
console.log(s.trim());  // "hi"

 

  • str.toUpperCase() / str.toLowerCase()
"Hello".toUpperCase(); // "HELLO"
"Hello".toLowerCase(); // "hello"

 

  • str.split(sep) → 구분자로 나눠 배열로 변환
"a,b,c".split(",");  // ['a', 'b', 'c']

 

  • str.slice(start, end) → 부분 문자열 추출
"abcdef".slice(2, 4); // "cd"

 

  • str.replace() → 문자열 또는 정규식 기반 치환
"banana".replace("na", "NA");    // "baNAna"
"banana".replace(/na/g, "NA");    // "baNANA"

 

  • str.repeat(n) → 문자열 반복
"ha".repeat(3);  // "hahaha"

 


3. Set / Map / 수학 관련 함수

3-1. Set (중복 제거용)

  • new Set(array) → 중복 제거된 Set 생성
const set = new Set([1, 2, 2, 3]);
console.log(set);  // Set(3) {1, 2, 3}

 

  • Array.from(set) → 배열로 변환
Array.from(new Set([1, 1, 2]));  // [1, 2]

 

  • set.has(x) / set.add(x) / set.delete(x)
const s = new Set();
s.add("a");
s.has("a");     // true
s.delete("a");  // Set {}

3-2. Map (Key-Value 저장)

const map = new Map();
map.set("name", "Alice");
console.log(map.get("name"));  // "Alice"
map.has("name");               // true
map.delete("name");

3-3. 수학 및 기타

  • Math.max(...arr) / Math.min(...arr)
Math.max(1, 5, 3);  // 5
Math.min(1, 5, 3);  // 1

 

  • Math.floor(x), Math.ceil(x), Math.round(x) → 내림 / 올림 / 반올림
Math.floor(3.7);  // 3
Math.ceil(3.1);   // 4
Math.round(3.5);  // 4

 

  • parseInt() / Number() → 문자열을 숫자로 변환
parseInt("10");  // 10
Number("3.14");  // 3.14

 

  • Array.isArray(x) → 배열인지 확인
Array.isArray([1, 2]);  // true

 

  • JSON.stringify(obj) / JSON.parse(str) → 객체 또는 배열을 JSON으로 변환 / JSON 형태의 문자열을 객체 또는 배열로 변환
const obj = { name: "Yumin" };
const str = JSON.stringify(obj);  // '{"name":"Yumin"}'
const parsed = JSON.parse(str);   // { name: "Yumin" }

'Frontend' 카테고리의 다른 글

[React.js + TypeScript] Zustand로 상태관리하기 (+ persist 미들웨어)  (1) 2025.06.15
[React + TypeScript + TailwindCSS] 개발 환경 구축하기  (0) 2025.01.01
'Frontend' 카테고리의 다른 글
  • [React.js + TypeScript] Zustand로 상태관리하기 (+ persist 미들웨어)
  • [React + TypeScript + TailwindCSS] 개발 환경 구축하기
whatdoyumin
whatdoyumin
안녕하세요, 꾸준히 성장하는 개발자..... 입니다
  • whatdoyumin
    whatdoyumin 님의 블로그
    whatdoyumin
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Frontend
      • Backend
      • Study & Course
      • CS & Algorithm
      • DevOps & Infra
      • Certification
      • Database
      • Project
      • atc.
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    브루트포스
    99클럽 #코딩테스트준비 #개발자취업 #항해99 #til #알고리즘 #브루트포스 #백준 #오목 #완전탐색 #코딩테스트
    클라우드
    Pruning
    AWS자격증
    devops
    99클럽 #코딩테스트준비 #개발자취업 #항해99 #til
    탐색알고리즘
    완전탐색
    githubworkflow
    Saa
    타입스크립트
    github자동리뷰
    99클럽 #코딩테스트준비 #개발자취업 #항해99 #til#dp#동적계획법#코테#백준
    Spring
    백준 #백준2805번 #나무자르기 #이분탐색 #알고리즘
    개발자팁
    ai코드리뷰
    코드래빗
    전역상태관리
    zustand
    백엔드
    ResponseEntity
    결제로직
    coderabbit
    자바스크립트 코테
    TypeScript
    frontend
    코드리뷰자동화
    백트래킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
whatdoyumin
[JavaScript] 자바스크립트 자주 사용하는 함수 정리
상단으로

티스토리툴바