arr.length
const arr1 = []; // arr1 길이: 0
const arr2 = ['red', 'green', 'blue']; // arr2 길이: 3
const arr3 = new Array(); // arr3 길이: 0
const arr4 = new Array('red', 'green', 'blue'); // arr4 길이: 3
arr.push({추가할 요소});
arr.pop();
// 배열 arr의 idx1부터 idx2 전까지 추출하여 새로운 배열 return
const new_arr = arr.slice(idx1, idx2);
// 배열 arr의 idx부터 개수만큼 원본 배열 삭제.
// 삭제한 요소들이 담긴 새로운 배열 return
const new_arr = arr.splice(idx, 개수);
// 배열 arr.splice()에서 세번 째 인자를 지정하면 원하는 idx에 value 값 추가.
// 배열 idx에서 cnt 수 만큼 제거하고, idx에 value 추가
const new_arr = arr.splice(idx, cnt, value);
// ex
const months = ['Jan', 'Feb', 'March', 'April', 'June'];
months.splice(2, 2, 'May'); // result: months = ['Jan', 'Feb', 'May', 'June']
// 유니코드 순 오름차순 정렬
arr.sort();
// 숫자 순 오름차순 정렬
arr.sort((a, b) => a-b);
// 숫자 순 내림차순 정렬
arr.sort((a, b) => b-a);
// arr.reverse()를 사용할 경우, 원본 배열 arr reverse되어
// spread 문법으로 새로운 배열 생성해 정렬하는 것이 좋음
const reverse_arr = [...arr].reverse();
arr.includes({찾는 요소}); // true or false로 반환
arr.indexOf({찾는 요소}); // 해당 요소 있다면 첫 번째 인덱스 반환. 없다면 -1 반환
조건에 만족하는 요소들 새로운 배열 return
const numbers = [1, 2, 3, 4, 5];
const results = numbers.filter(number => number>3); // results = [4, 5]
각 요소에 대해 주어진 함수를 실행하고, 하나의 결과값을 반환
const arr = [1, 2, 3, 4];
// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumWithInitial = arr.reduce((accumulator, currentValue) => accumulator + currentValue, initialValue); // sumWithInitial: 10
문자열을 기준으로 나누어서 배열 형식으로 반환
const str = "abcdef";
str.split(""); // result: ['a', 'b', 'c', 'd', 'e', 'f']
str.split("d"); // result: ['abc', 'ef']
배열의 요소들을 하나의 문자열로 반환
const arr = [1, 2, 3, 4];
arr.join(); // result: "1,2,3,4"
arr.join(""); // result: "1234"
arr.join("*"); // result: "1*2*3*4"
str.length
const str = "testString";
str.at(0) // result: 't'
str[4] // result: 'S';
const num = 10;
num.toString(); // string "10"
num.toString(2); // string "1010". 이진수 변환
const str = "100";
parseInt(str); // str이 숫자나 빈칸이 아닌 경우 NaN 반환
parseFloat({변경할 문자열});
str.toUpperCase(); // 문자열 모두 대문자로 변환
str.toLowerCase(); // 문자열 모두 소문자로 변환
// 문자열 idx1부터 idx2 전까지 추출하여 새로운 문자열 return
const new_str = str.substring(idx1, idx2);
const new_str = str.replace('aa', 'A');
str.indexOf({찾는 문자}); // 해당 문자 있다면 첫번째 인덱스 반환. 없다면 -1 반환
문자열의 idx에 해당하는 char의 유니코드를 return
// 'A' -> 65
// 'a' -> 97
str.charCodeAt(idx);
Math.max(1, 2, 3); // result: 3
const arr = [2, 3, 4, 5, 6]; // 배열 내에서 최댓값 찾을 때, spread 문법 사용
Math.max(...arr); // result: 6
해당 문자가 숫자가 아닌지 판별
숫자로 변환 가능 → false
숫자로 변환 불가능 → true
isNaN(NaN); // 참
isNaN(undefined); // 참
isNaN({}); // 참
isNaN(true); // 거짓
isNaN(null); // 거짓
isNaN(37); // 거짓
// 문자열
isNaN("37"); // 거짓: "37"은 NaN이 아닌 숫자 37로 변환됩니다
isNaN("37.37"); // 거짓: "37.37"은 NaN이 아닌 숫자 37.37로 변환됩니다
isNaN("123ABC"); // 참: parseInt("123ABC")는 123이지만 Number("123ABC")는 NaN입니다
isNaN(""); // 거짓: 빈 문자열은 NaN이 아닌 0으로 변환됩니다
isNaN(" "); // 거짓: 공백이 있는 문자열은 NaN이 아닌 0으로 변환됩니다
/ / → 정규식 시작과 끝[ ] → 괄호안 문자들 중 하나g → 문자열 내의 모든 패턴 검색var pattern1 = /[0-9]/;
var pattern2 = /[a-zA-Z]/;
var pattern3 = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
var pattern4 = /[~!@#\#$%<>^&*]/;
var inputVal = "테스트";
if (!pattern1.test(inputVal) || !pattern2.test(inputVal)) { // {패턴}.test({문자열}) -> true or false로 반환
inputVal = inputVal.replace(/[^a-z0-9]/g,'*'); // a-z0-9가 아니면, '*'로 대체. inputVal = "***"
inputVal = inputVal.replace(/[a-z0-9]/g, '*'); // a-z0-9 라면, '*'로 대체. inputVal = "테스트"
}
\. → . 문자//
let inputVal = "...test..string";
inputVal = inputVal.replace(/\.{2,}/g, '.'); // inputVal = ".test.string"
특정 문자열 길이에 맞춰 좌우를 채우는 기능
string.padStart({지정할 문자열 길이}, {string.length 모자란 길이 채울 문자})
const str = "aa";
const size = 4;
const result = str.padStart(size, 0); // result = 00aa;
const id = '아이디입니다'
const temp = id.slice(0, 3);
const result = temp.padEnd(id.length, '*'); // result = "아이디***";
const map = new Map();
map.set({추가할 key}, {추가할 value});
map.set('age', 20);
탐색하는 key값에 해당하는 value 반환. 없다면, undefined 반환
map.get({key});
map.get('age'); // result: 20
true or false로 반환
map.has({key});
map.has('age'); // result: true
map.has('name'); // result: false
map.delete({삭제할 key});
map.delete('age');
map.clear();
map.size;
const set = new Set();
const set = new Set(['aa', 'bb']); // 배열 안에 요소 나열해야함
set.add({추가할 요소});
set.add('cc');
set.delete({삭제할 요소});
true or false로 반환
set.has({요소});
set.has('aa'); // result: true
set.has('zz'); // result: false
set.clear();
set.size;
References:
https://hianna.tistory.com/394
https://55wldms.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%BD%94%ED%85%8C-%EB%8C%80%EB%B9%84-%ED%95%A8%EC%88%98-%EC%A0%95%EB%A6%AC
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce