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 |