[JS]메서드(배열 / String / Math)

김정현·2023년 1월 4일

개념 정리

목록 보기
8/9
post-thumbnail

배열 메서드

참고 사항: 원본 배열 유지 === 새로운 배열 생성

일반 함수

arr.push(elem) - 배열 끝에 요소 추가(원본 배열 수정) / 배열의 새로운 길이를 반환
arr.pop() - 배열의 마지막 요소를 제거(원본 배열 수정) / 제거된 요소를 반환
arr.unshift(elem) - 배열 맨 앞에 요소를 추가(원본 배열 수정)  / 배열의 새로운 길이를 반환
arr.shift() - 배열 맨 앞에 요소를 제거(원본 배열 수정) / 제거된 요소를 반환
arr.splice(추가/제거할 index 위치, 제거할 item개수, 추가할 item1, item2..) 
n번째 요소로 부터 삭제할 개수만큼 요소를 제거 후 요소를 추가(원본 배열 수정)
arr.slice(시작index, 끝나는 index + 1) 
시작index와 끝 index를 지정하여 새로운 배열을 반환(원본 배열 유지)
(음수를 넣을 경우 마지막 요소가 -1에 해당되며, 첫 요소가 -n에 해당한다)
arr.join("연결자") - 배열의 모든 요소를 더하여 문자열로 반환. 지정한 연결자로 요소를 구분할 수 있다
Array.isArray(arr) - 배열인지 아닌지를 불리언으로 반환
arr.indexOf(item) - item이 배열에 있다면 index를 반환, 없다면 -1을 반환
arr.includes(item) - 배열 안에 특정한 아이탬이 있는를 true, false로 반환
arr.reverse() - 배열 내 요소들의 index를 뒤집는다(원본 배열 수정)
arr1.concat(arr2, arr3...) - 여러개의 배열을 하나로 합쳐 새로운 배열 반환(원본 배열 유지)
arr.flat(깊이값) - 중첩된 배열을 깊이값만큼 평탄화한 새로운 배열 반환(원본 배열 유지)
arr.fill(배열을 채울 item, 시작index, 끝index + 1)
시작 index를 입력하지 않는다면 모든 index를 해당 item으로 채운다
끝나는 index를 입력하지 않는다면 시작 index부터 끝까지 채운다
arr.keys() - 배열의 각 인덱스를 키 값으로 가지는 새로운 Array Iterator 객체를 반환
arr.values() - 배열에서 각 인덱스에 대한 값을 순회하는 array iterator 객체를 반환
arr.entries() - 인덱스에 대한 키/값 쌍을 가지는 새로운 Array Iterator 객체를 반환
for..of문을 통해 값을 확인할 수 있다 
arr.lastIndexOf(확인값) - 배열에서 주어진 값을 발견할 수 있는 마지막 인덱스를 반환하고, 요소가 존재하지 않으면 -1을 반환

고차 함수

arr.forEach(elem => 실행 코드) - 주어진 함수를 배열 요소 각각에 대해 실행
arr.flatMap(elem => 실행 코드) - 매핑함수를 사용해 각 엘리먼트에 대해 map 수행 후, 결과를 새로운 배열로 평탄화
arr.find(elem => 조건식) - 원하는 조건의 첫 번째 요소를 찾아 값을 반환
arr.findIndex(elem => 조건식) - 가장 먼저 콜백의 조건을 만족하는 요소의 index를 반환
arr.filter(elem => 조건식) - 원하는 조건의 요소들을 찾아 새로운 배열로 반환(원본 배열 유지)
arr.some(elem => 조건식) - 해당 조건의 요소가 배열 내에 하나 이상 존재하는지 확인 후 불리언 반환
arr.every(elem => 조건식) - 콜백함수로 배열의 모든 요소들이 해당 조건을 충족하는지 확인 후 불리언 반환
arr.map(elem => 실행 코드) - 배열안에 각각의 요소들을 새로운 베열로 변환
arr.reduce((prev, curr) => 실행 코드, 초기값)
prev, curr를 출력한다. prev는 콜백의 리턴값, curr는 현재 순서의 요소이다. 
즉 콜백과 리턴값과 요소를 순차적응로 값을 반환한다. 초기값을 줄 수 있다
arr.reduceRight((prev, curr) => 실행 코드, 초기값) - reduce의 역순으로 반환
arr.sort((a, b) => a - b)
이전값과 현재값의 콜백값이 -가 되면 정렬
a - b는 오름차순, b - a는 내림차순 정렬이 된다

예시 코드)
오름차순 정렬
arr.sort((a, b) => {
  if (a > b) return 1;  // 양수 반환은 b - a로 위치 변경
  if (a < b) return -1; // 음수 반환은 a - b를 유지
  if(a === b) return 0; // 0 반환은 이동 없음
});
arr.toSorted()
sort와 동일하지만 원본 배열울 유지

String 메서드

str.charCodeAt(index) - String의 index에 해당하는 유니코드 정수를 반환, 인자가 없다면 첫 번째 문자를 변환
String.fromCharCode(유니코드 넘버) - 인자로 입력받은 유니코드 넘버를 해당 문자열로 변환 
str1.concat('연결자', str2) - str1, 연결자, str2를 합친 string을 반환
str.includes(문자열) - 문자열이 주어진 값을 포함하는지에 대한 불리언값 반환
str.indexOf(문자열) - 주어진 값과 일치하는 첫 번째 인덱스를 반환, 없다면 -1반환
str.lastIndexOf(문자열) - 역순으로 주어진 값과 일치하는 첫 번째 인덱스를 반환, 없다면 -1반환
str.padEnd(targetLength, padString) - str이 끝나는 부분에 targetLength까지 padString 추가
str.padStart(targetLength, padString) - str이 시작하는 부분에 targetLength까지 padString 추가
str.repeat(count); - str을 count횟수만큼 반복한 문자열 반환
str.replace(변경할 기존 문자열, 변경할 새로운 문자열) - 첫 번째의 특정 문자열을 새로운 문자열로 대체한 문자열 반환
str.replaceAll(변경할 기존 문자열, 변경할 새로운 문자열) - 모든 특정 문자열을 새로운 문자열로 대체한 문자열 반환
str.slice(시작 idx, 끝나는 idx + 1) - 문자열의 일부를 추출하면서 새로운 문자열을 반환
str.substring(시작 idx, 끝나는 idx + 1) - 문자열의 일부를 추출하면서 새로운 문자열을 반환
str.split("구분자") - 문자들을 입력된 구분자를 기준으로 요소를 나누어 새로운 배열을 반환(원본 문자열 유지)
str.startsWith(탐색할 문자열) - 어떤 문자열이 특정 문자로 시작하는지 확인하여 결과를 true 혹은 false로 반환
str.endsWith(탐색할 문자열) - 어떤 문자열이 특정 문자로 끝나는지 확인하여 결과를 true 혹은 false로 반환
str.toLowerCase() - str을 소문자로 변환
str.toUpperCase() - str을 소대문자로 변환
str.trim() - 문자열 양 끝의 공백을 제거하고 원본 문자열을 수정하지 않고 새로운 문자열을 반환
str.trimStart() - 메서드는 문자열 시작부분의 공백을 제거
str.trimEnd() - 메서드는 문자열 끝부분의 공백을 제거
str.match(regexp) - 문자열이 정규식과 매치되는 부분을 검색
str.search(regexp) - 정규표현식과 주어진 문자열간에 첫번째로 매치되는 것의 인덱스를 반환, 없다면 -1  반환

Number 객체

Number 프로퍼티

Number.MAX_SAFE_INTEGER - JavaScript에서 안전한 최대 정수값
Number.MIN_SAFE_INTEGER - JavaScript에서 안전한 최소 정수값

Number 메서드

Number.isInteger(판별할 값) - 주어진 값이 정수인지 판별
Number.isNaN(판별할 값) - 주어진 값이 NaN인지 판별(기존의 inNaN()보다 엄격한 버전)
Number.parseInt(문자열) - 문자열 인자를 파싱하여 정수 반환(숫자가 아닐 시 제일 먼저 나온 숫자 반환)
Number(문자열) - 문자열 인자를 파싱하여 정수 반환(숫자가 아닐 시 NaN반환)

Math 메서드

Math.abs(x) - 숫자의 절댓값을 반환
Math.ceil(x) - 인수보다 크거나 같은 수 중에서 가장 작은 정수를 반환
Math.floor(x) - 인수보다 작거나 같은 수 중에서 가장 큰 정수를 반환
Math.round(x) - 숫자에서 가장 가까운 정수를 반환
Math.trunc(x) - 숫자의 정수 부분을 반환
Math.random() - 0과 1 사이의 난수를 반환
Math.max(1, 2, 3 ...) - 0개 이상의 인수에서 제일 큰 수를 반환
Math.min(1, 2, 3 ...) - 0개 이상의 인수에서 제일 작은 수를 반환
Math.sqrt(x) - 숫자의 제곱근을 반환
Math.pow(x, y) - x의 y 제곱을 반환
Math.sign(x) - 인자가 양수라면 1, 음수라면 -1, 0이라면 0, 음의 0이라면 -0을 반환

Date 메서드

new Date(); // 현재 시간에 대한 Date객체 생성
new Date(UTC값); // UTC값을 기준으로 Date객체 생성
new Date(1995, 12 - 1, 22, 10, 30, 30); // 특정 시간에 대한 Date 객체 생성
date1.getTime(); // UTC 생성(1970.01.01 00시 00분 00초로 부터 몇 ms가 지났는지 표시)
Date객체의 특정 시간 요소 불러오기

let year = date1.getFullYear();
let month = date1.getMonth(); // JS에서 월은 0~11로 표기
let date = date1.getDate();
let hour = date1.getHours();
let minute = date1.getMinutes();
let seconds = date1.getSeconds();
Date객체의 특정 시간 요소 수정

date1.setFullYear(2023);
date1.setMonth(1); // JS에서 월은 0~11로 표기
date1.setDate(20);
date1.setHours(23);
date1.setMinutes(30);
date1.setSeconds(30);
date1.toDateString(); // 시간을 제외한 날짜만 출력
date1.toLocaleString(); // 현지 시간 형식으로 출력
profile
개발 공부 블로그

0개의 댓글