수업 내용이나 sprint, coplit을 진행하면서 사용 되는 메서드들을 전체적으로 정리한다.
이렇게 자주 사용 하는 메서드들을 정리해놓으면 기억이 나지 않을때 하나 하나 찾지 않고 이곳에서 찾아 쓸 수 있기 때문에 메서드들을 정리한다.
자주 사용하는 Math객체의 메서드 정리
Math.pow 메서드는 x에 e를 제곱한 값을 반환한다.
제곱의 방법으로 pow()메서드를 사용하지 않고 하는 방법은 곱 연산을 지수 만큼 곱하는 방법과 곱 연산을 연달아 2개 사용하고 옆에 지수를 입력해주는 방법이 있다.(추천 하지는 않는다.)
Math.pow(7, 3); // expected output : 343
7*7*7 // expected output : 343
7**(3) // expected output : 343
주어진 숫자(x)와 같거나 작은 정수 중에서 가장 큰 수를 반환한다.(내림)
Math.floor(5.95); // expected output : 5
주어진 숫자(x)보다 크거나 같은 정수 중에서 가장 작은 숫자를 반환한다.(올림)
Math.ceil(5.95); // expected output : 6
입력값(x)을 반올림한 수와 가장 가까운 정수 값을 반환한다.(반올림)
Math.round(5.95); // expected output : 6
주어진 숫자(x)의 절대값을 반환한다. 만약 null 또는 빈 문자열인 경우 0을 반환하며 undefined나 빈
매개변수인 경우 NaN를 반환환다.
Math.abs(-5.95); // expected output : 5.95
문자열 또는 배열에서 원하는 문자(요소)의 포함 유무나 인덱스를 찾는 메서드 정리
includes 앞에 문자열이나 배열이 올 수 있다.
문자열이 오게되면 문자열이 다른 문자열에 포함되어 있는지 판별한다.
배열이 오게되면 배열의 특정 요소를 포함하고 있는지 판별한다.
반환값은 boolean형태의 true or false로 반환한다.
value : 문자열 또는 배열에서 찾을 문자 또는 요소
index : 문자열 또는 배열에서 검색을 시작할 위치(default값은 0이며 생략 가능하다)
let sentence="The quick brown fox jumps over the lazy dog";
sentence.includes("quick"); // expected output : true
sentence.includes("quick", 5); // expected output : false
let array=[1, 2, 3];
array.includes(2); // expected output : true
array.includes(2, 2); // expected output : false
indexOf 앞에 문자열이나 배열이 올 수 있으며 주어진 값과 일치하는 첫 번째 인덱스를 반환한다.
만약 값이 존재하지 않으면 -1을 반환한다.
value : 문자열 또는 배열에서 찾을 문자 또는 요소
index : 문자열 또는 배열에서 검색을 시작할 위치(default값은 0이며 생략 가능하다)
let sentence="The quick brown fox jumps over the lazy dog";
sentence.indexOf("quick"); // expected output : 4
sentence.indexOf("quick", 5); // expected output : -1
let beasts=["ant", "bison", "camel", "duck", "bison"];
beasts.indexOf("bison"); // expected output : 1
beasts.indexOf("bison", 2); // expected output : 4
문자열을 대문자나 소문자로 변환해 반환하는 메서드 정리(기존 문자열에 영향을 주지는 않는다)
문자열을 소문자로 변환해 반환한다.
let setence="ABCD";
setence.toLowerCase(); //expected output : "abcd"
문자열을 대문자로 변환해 반환한다.
let setence="abcd";
setence.toUpperCase(); //expected output : "ABCD"
문자열을 나눌 수 있는 메서드 정리
split 메서드는 문자열을 지정한 구분자(separator)를 이용하여 여러 개의 문자열로 나눈다.
문자열을 separator마다 끊은 부분 문자열을 담은 배열을 반환한다.
반환값은 separator마다 끊은 부분 문자열을 담은 Array를 반환한다.
separator : 원본 문자열을 끊어야 할 부분을 나타내는 문자열(separator가 생략되거나 문자열에 등장하지 않을 경우 원본 문자열을 유일한 요소로 가지는 배열 반환하며 separator가 빈 문자열인 경우 원본 문자열의 각각의 문자가 배열의 요소인 배열 반환)
limit : 끊어진 문자열의 최대 개수를 나타내는 정수이며 생략가능하다(배열의 요소 갯수가 limit개가 되면 split을 멈춘다)
let sentence="The quick brown fox jumps over the lazy dog";
sentence.split(" "); // expected output : ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]
sentence.split(" ", 4); // expected output : ["The", "quick", "brown", "fox"]
sentence.split("", 4); // expected output : ["T", "h", "e", " "]
substring 메서드는 시작 인덱스(indexStart) 부터 종료 인덱스(indexEnd) 전 까지 기존 문자열의 부분 문자열을 반환한다.
indexStart : 반환 문자열의 시작 인덱스
indexEnd : 반환 문자열의 마지막 인덱스(반환값에 포함되지는 않는다)
let str = 'Mozilla';
str.substring(2); // expected output : "zilla"
str.substring(2, 4); // expected output : "zi"
String.slice 메서드는 문자열의 일부를 추출하면서 새로운 문자열을 반환한다.
배열이 앞에 올 경우 배열의 begin부터 end까지(end 미포함) 얕은 복사본을 새로운 배열로 반환한다(원본 배열은 변하지 않는다)
begin : 음수일 경우 begin은 문자열의 길이+begin로 취급된다. 만약 begin이 문자열의 길이보다 크거나 같을 경우 slice()는 빈 문자열을 반환한다.
end : 음수일 경우 end는 문자열의 길이+end로 취급된다. 만약 end가 생략되면 slice()는 문자열 마지막까지 추출한다.
let sentence="The quick brown fox jumps over the lazy dog";
sentence.slice(31); // expected output : "the lazy dog"
sentence.slice(31, 34); // expected output : "the"
sentence.slice(-3); // expected output : "dog"
Array.slice 메서드는 배열의 begin부터 end까지(end 미포함) 얕은 복사본을 새로운 배열로 반환한다.(원본 배열은 변하지 않는다)
begin : 음수일 경우 배열의 끝에서부터의 길이를 나타낸다.
undefined인 경우에는 0번 인덱스부터 slice한다.
begin이 배열의 길이보다 큰 경우에는 빈 배열을 반환한다.
end : 음수일 경우 배열의 끝에서부터의 길이를 나타낸다.
end값이 배열의 길이보다 큰 경우 또는 생략되면 배열의 끝까지 추출한다.
let animals=["ant", "bison", "camel", "duck", "elephant"];
animals.slice(2); // expected output : ["camel", "duck", "elephant"]
animals.slice(2, 4); // expected output : ["camel", "duck"]
animals.slice(-2); // expected output : ["duck", "elephant"]
join 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만든다.
separator : 배열의 각 요소를 구분할 구분자(생략하면 배열의 요소들이 쉼표로 구분되며 빈 문자열이면 모든 요소들 사이에 아무 문자도 없이 연결된다.)
let elements=["Fire", "Air", "Water"];
elements.join("-"); // expected output : "Fire-Air-Water"
elements.join(); // expected output : "Fire,Air,Water"
elements.join(""); // expected output : "FireAirWater"
concat 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.
value : value에는 여러개의 배열이나 값이 올 수도 있다
let array1=["a", "b", "c"];
let array2=["d", "e", "f"];
array1.concat(array2); // expected output : ["a", "b", "c", "d", "e", "f"]
array1.concat(1, array2, 2); // expected output : ["a", "b", "c", 1, "d", "e", "f", 2]
splice 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경하며 반환값으로는 제거한 요소를 담은 배열을 반환한다.
반환값은 제거한 요소를 담은 배열이며 아무 값도 제거하지 않았으면 빈 배열을 반환한다.
start : 배열의 변경을 시작할 인데스로 start가 음수인 경우 배열의 길이+start 번째 인덱스와 같다.(start의 절대값이 배열의 길이 보다 큰 경우 0으로 설정된다)
deleteCount : 배열에서 제거할 요소의 수이며 deleteCount를 생략하거나 값이 배열의 길이-start보다 크면 start부터의 모든 요소를 제거한다.
deleteCount가 0이하라면 어떤 요소도 제거하지 않는다.
...item : 배열에 추가할 요소이며 여러개가 올수도 있다. 만약 아무 요소도 지정하지 않으면 splice 메서드는 요소를 제거하기만 한다.
let months=["Jan", "March", "April", "June"];
months.splice(1, 0, "Feb"); // expected output : []
console.log(months); // expected output : ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, "July", "Aug"); // expected output : ["June"]
console.log(months); // expected output : ["Jan", "Feb", "March", "April", "July", "Aug"]