숫자 관련
- Math.floor(x) - 소수점 내림
- Math.ceil(x) - 소수점 올림
- Math.round(x) - 소수점 반올림
- Math.trunc(x) - 소수점 버림
- Math.abs(x) - 절댓값
- Math.max(a, b, c, …) - 최댓값
- Math.min(a, b, c, …) - 최솟값
- Math.pow(x, y) - 거듭제곱
- Math.sqrt(x) - 제곱근
- Math.cbrt(x) - 세제곱근
- Math.random() - 0~1 난수 생성
- parseInt(str, base) - 정수 변환
- parseFloat(str) - 실수 변환
- Number.isInteger(x) - 정수 여부 확인
- Number.isNaN(x) - NaN 여부 확인
- ~~x - Math.floor(x) 대체 (빠름)
배열 관련
- arr.map(fn) - 각 요소 변환
- arr.filter(fn) - 조건 충족 요소만 반환
- arr.reduce(fn, init) - 누적 연산
- arr.some(fn) - 하나라도 true인지 확인
- arr.every(fn) - 모두 true인지 확인
- arr.find(fn) - 조건 충족 첫 요소 반환
- arr.findIndex(fn) - 조건 충족 첫 요소 인덱스 반환
- arr.includes(x) - 특정 값 포함 여부 확인
- arr.indexOf(x) - 값의 첫 인덱스 반환
- arr.lastIndexOf(x) - 값의 마지막 인덱스 반환
- arr.slice(start, end) - 부분 배열 반환
- arr.splice(start, count, ...items) - 요소 추가/제거
- arr.concat(arr2) - 배열 합치기
- arr.push(x) - 마지막에 추가
- arr.pop() - 마지막 요소 제거
- arr.shift() - 첫 요소 제거
- arr.unshift(x) - 첫 요소 추가
- arr.reverse() - 배열 뒤집기
- arr.sort(fn) - 정렬
문자열 관련
- str.split(sep) - 문자열 나누기
- arr.join(sep) - 배열을 문자열로
- str.trim() - 앞뒤 공백 제거
- str.trimStart() - 앞 공백 제거
- str.trimEnd() - 뒤 공백 제거
- str.toUpperCase() - 대문자로 변환
- str.toLowerCase() - 소문자로 변환
- str.replace(a, b) - 첫 번째 a를 b로 변경
- str.replaceAll(a, b) - 모든 a를 b로 변경
- str.padStart(n, x) - 앞쪽 길이 맞추기
- str.padEnd(n, x) - 뒤쪽 길이 맞추기
- str.startsWith(x) - 특정 문자열로 시작하는지
- str.endsWith(x) - 특정 문자열로 끝나는지
- str.charAt(i) - i번째 문자
- str.charCodeAt(i) - i번째 문자 유니코드
- str.localeCompare(str2) - 정렬 비교 (-1, 0, 1 반환)
예시
숫자 관련
Math.floor(4.9); // 4 - 소수점 내림
Math.ceil(4.1); // 5 - 소수점 올림
Math.round(4.5); // 5 - 소수점 반올림
Math.trunc(4.9); // 4 - 소수점 버림
Math.abs(-10); // 10 - 절댓값
Math.max(1, 5, 10); // 10 - 최댓값
Math.min(1, 5, 10); // 1 - 최솟값
Math.pow(2, 3); // 8 - 거듭제곱 -> 2의 3승
Math.sqrt(16); // 4 - 제곱근
Math.cbrt(27); // 3 - 세제곱근
Math.random(); // - 0~1 랜덤값 반환됨
parseInt("42", 10); // 42 - 정수 변환
parseFloat("3.14"); // 3.14 - 실수 변환
Number.isInteger(10); // true - 정수 여부 확인
Number.isNaN(NaN); // true - NaN 여부 확인
~~4.9; // 4 (Math.floor 대체)
배열 관련
[1, 2, 3].map(x => x * 2); // [2, 4, 6] - 각 요소 변환
[1, 2, 3, 4].filter(x => x % 2 === 0); // [2, 4]- 조건 충족 요소만 반환
[1, 2, 3].reduce((sum, x) => sum + x, 0); // 6 - 누적 연산
[1, 2, 3].some(x => x > 2); // true - 하나라도 true인지 확인
[1, 2, 3].every(x => x > 0); // true - 모두 true인지 확인
[1, 2, 3, 4].find(x => x > 2); // 3 - 조건 충족 첫 요소 반환
[1, 2, 3, 4].findIndex(x => x > 2); // 2 - 조건 충족 첫 요소 인덱스 반환
[1, 2, 3].includes(2); // true - 특정 값 포함 여부 확인
[1, 2, 3].indexOf(2); // 1 - 값의 첫 인덱스 반환
[1, 2, 3, 2].lastIndexOf(2); // 3 - 값의 마지막 인덱스 반환
[1, 2, 3, 4].slice(1, 3); // [2, 3] - 부분 배열 반환
[1, 2, 3, 4].splice(1, 2, 99); // [1, 99, 4] - 요소 추가/제거
[1, 2].concat([3, 4]); // [1, 2, 3, 4] - 배열 합치기
let arr = [1]; arr.push(2); // [1, 2] - 마지막에 추가
let arr2 = [1, 2]; arr2.pop(); // [1] - 마지막 요소 제거
let arr3 = [1, 2]; arr3.shift(); // [2] - 첫 요소 제거
let arr4 = [2]; arr4.unshift(1); // [1, 2] - 첫 요소 추가
[1, 2, 3].reverse(); // [3, 2, 1] - 배열 뒤집기
[3, 1, 2].sort((a, b) => a - b); // [1, 2, 3] - 정렬(a-b는 오름차순, b-a는 내림차순)
문자열 관련
// 문자열 나누기
"hello world".split(" "); // ["hello", "world"]
// 배열을 문자열로
["hello", "world"].join(" "); // "hello world"
// 앞뒤 공백 제거
" hello ".trim(); // "hello"
// 앞 공백 제거
" hello ".trimStart(); // "hello "
// 뒤 공백 제거
" hello ".trimEnd(); // " hello"
// 대문자로 변환
"hello".toUpperCase(); // "HELLO"
// 소문자로 변환
"HELLO".toLowerCase(); // "hello"
// 첫 번째 a를 b로 변경
"hello world".replace("world", "JS"); // "hello JS"
// 모든 a를 b로 변경
"hello hello".replaceAll("hello", "hi"); // "hi hi"
// 앞쪽 길이 맞추기
"42".padStart(5, "0"); // "00042"
// 뒤쪽 길이 맞추기
"42".padEnd(5, "0"); // "42000"
// 특정 문자열로 시작하는지
"hello".startsWith("he"); // true
// 특정 문자열로 끝나는지
"hello".endsWith("lo"); // true
// i번째 문자
"hello".charAt(1); // "e"
// i번째 문자 유니코드
"hello".charCodeAt(1); // 101
// 정렬 비교 (-1, 0, 1 반환)
"apple".localeCompare("banana"); // -1 (apple이 banana보다 앞)
블로그 자주 찾아오면서 머릿 속에 집어넣어야겠습니다..!! 이제 안찾아볼 수 있도록 열심히 해야겠습니다 ㅠㅠ