JaVascript 엔진에 내장된 객체로 다양한 함수 기능을 가지고 있다.
문자열의 길이를 알 수 있다.
문자열 안에 해당 문자가 존재하는지 찾는다.
존재하면 공백을 포함하여 index 번호를 매긴다.
❗ =0보다 큰 숫자가 입력된다.
❗ 존재하지 않으면 -1을 반환한다.
문자열 안에 해당 문자가 여러개 존재하면 제일 마지막에 발견된 문자열의 index를 반환한다.
존재하지 않으면 -1을 반환한다.
❗ 문자열에 영향을 끼치지는 않는다.
문자열에서 start이상 end미만을 잘라내어 반환한다.
end 피라미터를 생략하면 문자열의 마지막 위치까지 잘라낸다.
음수로 지정하면 뒤에서부터 음수만큼을 반환한다.
string.slice와 동일하나 음수를 허용하지 않는다.
string.slice와 유사하나 start에서 num갯수 만큼을 잘라내어 반환한다.
문자열 앞에 지정된 문자를 지정된 길이만큼 추가한다.
let str="A"
str=str.padStart(4,"B");
// 👉 'BBBA'
문자열을 n번 반복한다.
❗ 문자열에 영향을 끼치지는 않는다.
특정 문자열을 지정한 문자열로 변겅
처음 발견된 문자열 1개만 변경된다.
대소문자를 구분한다.
let str ="Please visit Seoul and Seoul!";
let n= str.replace("Seoul","Jeju");
// 👉 n="Please visit Jeju and Seoul!"
let str ="Please visit Seoul and Seoul!";
let n= str.replace(/Seoul/g,"Jeju");
// 👉정규표현식을 이용하면 전부 변경된다.
// 👉 n="Please visit Jeju and Jeju!"
let str="H is K and A is B";
let n= str.replace(/["H,"K","A","B"]/g,"A");
// 👉 n="A is A and A is A"
let str="aBCd342AFw5";
let n= str.replace(/[a-z]/gi,"");
// 👉 n="3425"
let str="aBCd342AFw5";
let n= str.replace(/[^0-9]/g,"");
특정 문자열을 지정한 문자열로 변경
모든문자가 변경된다.
replace()에서 사용한 정규표현식이 사용가능하다.
하위 브라우저에서는 사용이 불가능한 경우가 있다.
let str ="Please visit Seoul and Seoul!"
let n= str.replaceAll("Seoul","Jeju");
// 👉 n="Please visit Jeju and Jeju!"
2개 이상의 문자열을 하나의 문자열로 합친다.
let text1= "Hello";
let text2="World";
text3= text1.concat(" ",text2);
//👉 text3= "Hello World"
문자열의 앞 뒤 공백을 제거한다.
글자와 글자 사이의 공백은 제거하지 않는다.
문자열로 된 수식을 계산해준다.
숫자형 타입 Number
위 링크의 묵시적 형 변환으로 형을 변환시킬 수 있다.
()안의 숫자가 정수이면 true, 아니면 false
수학적인 상수와 내장 함수를 가진 객체
소수 부분은 버리고 정수를 반환한다.
음수 양수의 구분은 바뀌지 않는다.
양수이면 1, 음수이면 -1, 0이면 0을 반환한다.
Math.pow(8,2);
👉 64
제곱근 값을 반환한다.
루트값을 반환한다.
음수 값을 받아도 양수값으로 반환한다.
Math.min(0,200,30,20,-8,-100) 👉-100
Math.max(0,200,30,20,-8,-100) 👉200
let arr=[1,2,3,4,5]
Math.min(...arr) 👉1
Math.max(...arr) 👉5
❗ Math객체에 배열을 지정할 때에는 앞에 ...을 붙여 해당 배열을 숫자로 인식할 수 있도록 펼쳐주어야한다.
0~1 사이의 숫자형 값을 반환한다.
<script>
let arr = ["🥙","🌯","🌮","🌭","🥞"]
let randomNum = Math.floor(Math.random()*5);
console.log(randomNum); 👉0~4까지의 값을 랜덤으로 출력
console.log(arr[randomNum]); 👉위 숫자에 해당하는 index 주소를 가진 arr 값을 출력
</script>
날짜를 저장할 수 있고 날짜와 관련된 method를 제공해주는 내장객체
객체 생성
new Date(year, month, date, hours, minutes, seconds, ms)
year과 month는 필수 입력
year은 반드시 4자리 숫자로 작성
month는 0(1월)~11(12월)
date는 값이 없을 경우 1일로 처리
hours, minutes, seconds, ms에 값이 없을 경우 0으로 처리
new Date()
👉현재 날짜 및 시각
new Date(0)
👉1970년 1월 1일 9시 0분 0초
new Date(1000)
👉1970년 1월 1일 9시 0분 1초
new Date("2022-02-06")
👉2022년 02월 06일 9시 0분 0초
new Date(2022, 11, 24, 09, 15, 59, 00)
👉 2022년 12월 24일 09시 15분 59초
변수에서 년을 반환
변수에서 월을 반환
❗ 월의 입력값(0~11)을 반환하므로 +1 해준다.
변수에서 요일을 반환
0(일요일) ~ 6(토요일)
변수에서 분을 반환
변수 값을 ms단위로 반환
날짜만 반환
시간만 반환
날짜를 num일을 더한 날짜로 변환
인덱스를 사용해 값을 식별할 수 있는 자료 구조
let fruits = ['🍈','🍐','🍑']; //배열 선언
fruits[0] // index 0에 저장된 값이 출력된다.
fruits.length // 배열에 담긴 값의 수가 출력된다.
console.log(fruits[fruits.length-1])
//=🍑 마지막 index에 저장된 값이 출력된다.
fruits.push('🍇') //맨 끝의 요소 추가 👉 ['🍈','🍐','🍑','🍇']
fruits.pop() //맨 끝의 요소 제거 👉 ['🍈','🍐','🍑']
fruits.unshift('🍇') //맨 앞의 요소 추가 👉 ['🍇','🍈','🍐','🍑']
fruits.shift() //맨 앞의 요소 제거 👉 ['🍈','🍐','🍑']
fruits.splice(1,2)
//아이템을 입력하지 않은것으로 간주하고 indxe[1]부터 2개를 삭제한다.
// 👉 fruits=['🍈']
fruits.splice(1,0,'🍇')
//index[1] 이후에 0개를 삭제하고 요소'🍇'를 추가
// 👉 fruits=['🍈','🍇','🍐','🍑']
fruits.splice(1,2,'🍋')
//index[1] 이후에 2개를 삭제하고 요소'🍋'를 추가
// 👉 fruits=['🍈','🍋','🍑']
let lotto= [];
for (let i = 1; i < 46; i++) {
lotto.push(i);
}
// lotto는 나올수 있는 수 1 ~ 45
let result= [];
for(let i=0; i<6; i++){
let num = Math.floor(Math.random()*lotto.length);
result.push(lotto[num]);
// result는 lotto의 index가 될 값 0~44
// 44에서 아래 구문으로 인해 index가 하나 제거되면 곱해야할 숫자가 줄어든다
// ㄴindex가 줄어들면, array.length 도 줄어든다.
lotto.splice(num,1);
// 나온값 lotto의 index를 기반으로 lotto에서 나올 수 있는 숫자(이미 발생함) 1개 삭제
}
위와 같이 이미 발생한 숫자를 제외할 수도 있다.
arr.reduce((a,b)=>a+b,0);
// arr 배열의 모든 값의 덧셈을 구한다.
// ,0 은 초기값의 지정이다
첫번째 인자에는 array의 value가 담긴다.
두번째 인자에는 array의 index가 담긴다.
세번째 인자에는 전체 array가 담긴다.
const numbers=[1,2,3,4,5];
const newnumbers= numbers.map(v=>v*2);
//👉 newnumbers=[2,4,6,8,10]
구분자를 기준으로 문자열을 분리해서 배열로 반환한다.
let birth = "1997-06-12";
let arr=birth.split("-");
arr= (3) ['1997', '06', '12'];
배열 안의 모든 문자를 쉼표(,)를 이용해 모두 결합해서 하나의 문자열로 반환
구분자를 이용해 모두 결합해서 하나의 문자열(string)로 반환
❗ 구분자를 입력하지 않을 경우 ,으로 연결한다.
❗ 사이에 아무것도 넣지 않고 문자열로 반환하고 싶을 경우 구분자로('')공백을 입력하자
let fruits =["🍈","🍑","🍐"]
fruits.join("*")
//👉🍈*🍑*🍐
❗ 함수에 영향을 끼치지는 않는다.
let arr1 = ["🍈","🍐"];
let arr2 = ["🍑","🍓"];
let arr3 = arr1.concat(arr2)
//👉['🍈', '🍐', '🍑', '🍓']
함수에서 start이상 end미만을 잘라내어 반환한다.
end 피라미터를 생략하면 함수의 마지막 위치까지 잘라낸다.
음수로 지정하면 뒤에서부터 음수만큼을 반환한다.
let fr = [`🍑`,`🍐`,`🍈`,`🥞`,`🥤`]
fr.includes('🍓')
//👉false
fr.includes('🍐')
//👉true
❗ 함수에 영향을 끼친다.
배열에 문자형 데이터가 있는 경우 오름차순으로 정렬한다.
let numbers =[10,2,3,4,8,12]
numbers.sort()
//👉[10, 12, 2, 3, 4, 8]
//맨 앞글자를 기준으로 오름차순 정렬되었다.
return numbers.sort((a, b) => a-b);
//👉[2, 3, 4, 8, 10, 12]
return numbers.sort((a, b) => b-a);
//👉[12, 10, 8, 4, 3, 2]
배열을 반전시킨다.
let arr=["a","b","c","d","e"];
for(let i=0; i<arr.length; i++){
console.log(arr[i]);
};
//배열변수 arr 값을 전부 출력할 수 있다.
for(변수 of 배열 변수){
console.log(변수);
}
for(let i of arr){
console.log(i);
}
//위와 같이 작성할 수도 있다.
배열을 돌며 해당 배열의 값이 i에 담긴다.
배열변수.forEach(변수=>{});
arr.forEach(i=>console.log(i);)
//내장 메서드 forEach를 사용하여 작성해도 똑같은 값이 나온다.
forEach구문의 매개변수
첫번째에는 value(값)이,
두번째에는 index(배열번호)가,
세번째에는 array(배열)이 입력된다.