let num = 10;
num.toString(); // "10"
num.toString(2); // "1010" - 10의 2진수
let num2 = 255;
num2.toString(16); // "ff"
Math.PI; // 3.14159265.589793
let num1 = 5.1;
let num2 = 5.7;
Math.ceil(num1); // 6
Math.ceil(num2); // 6
let num1 = 5.1;
let num2 = 5.7;
Math.floor(num1); // 5
Math.floor(num2); // 5
let num1 = 5.1;
let num2 = 5.7;
Math.round(num1); // 5
Math.round(num2); // 6
let userRate = 30.1234;
Math.round(userRate * 100)/ 100 // 30.12
let userRate = 30.1234;
userRate.toFixed(2); // "30.12"
userRate.toFixed(0); // "30"
userRate.toFixed(6); // "30.123400"
let userRate = 30.1234;
userRate.toFixed(2); // "30.12"
Number(userRate.toFixed(2)); // 30.12
let x = Number('x'); //NaN
x == NaN // false
x === NaN // false
NaN == NaN // false
isNaN(x) // true
let margin = '10px';
parseInt(margin); // 10
Number(margin) // NaN
let redColor = 'f3';
parseInt(redColor); // NaN
let redColor = 'f3';
parseInt(redColor); // NaN
let redColor = 'f3';
parseInt(redColor, 16); // 243
Maht.floor(Math.random()*100)+1
Math.max(1, 4, -1, 5, 10, 9, 5.54); // 10
Math.min(1, 4, -1, 5, 10, 9, 5.54); // -1
Math.abs(-1) // 1
Math.pow(2, 10) // 2의 10승이니까 1024
Math.sqrt(16) // 4
정리
let html = '<div class="box_title">제목 영역</div>';
let desc = "It's sunny day."
let dessc = `안녕하세요.
면접에서 좋은 결과가 있으면 좋겠어요.
열심히 준비하겠습니다.`;
let desc = '안녕하세요.\n면접에서 좋은 결과가 있으면 좋겠어요.\n열심히 준비하겠습니다.'
let desc = '안녕하세요.';
desc.length //6
let desc = '안녕하세요.';
desc[2] // '하'
let desc = '안녕하세요.';
desc[2] // '하'
desc[4] = "용";
console.log(desc); // 안녕하세요.
let desc = "Hi everyone. Nice to meet you.";
desc.toUpperCase();
"HI EVERYOEN. NICE TO MEET YOU."
desc.toLowerCase();
"hi everyone nice to meet you."
let desc = "Hi everyone. Nice to meet you.";
desc.indexOf('everyone'); // 3
desc.indexOf('lucky'); // -1
if(desc.indexOf('Hi')){
console.log('Hi가 포함된 문장입니다.')
}
if(desc.indexOf('Hi') > -1){
console.log('Hi가 포함된 문장입니다.')
}
let desc = "abcdefg";
desc.slice(2); // "cdefg"
desc.slice(0, 5); // "abcde"
desc.slice(2, -2); // 인덱스 2에서 끝에서 2번째 위치까지 반환 -> "cde"
let desc = "abcdefg";
desc.substring(2, 5); // "cde"
desc.substring(5, 2); // "cde"
let desc = "abcdefg";
desc.substr(2, 4); // "cdef"
desc.substr(-4, 2); // "de"
let desc = " coding "
desc.tirm(); // "coding"
let hello = "hello!";
hello.repeat(3); // "hello!hello!hello!"
1 < 3 // true
"a" < "c" // true
"a".codePointAt(0); // "a"는 10진법으로 97이니까 97 출력
String.fromCodePoint(97) // "a"
예제 1
let list = [
"01. 여름이었다",
"02. 다가올 가을",
"03. 어쩌다 겨울",
"04. 한 해를 마무리 하며".
"05. 새 해를 계획하자"
];
// 만약 숫자를 제외하고 문자만 출력하고 싶다면?
let newList = [];
for(let i = 0; i < list.length; i++){
// 인덱스 4부터 끝까지
newList.push(list[i].slice(4));
}
console.log(newList); // 문자열만 잘 출력됨
예제 2
function hasCola(str){
if(str.indexOf('콜라')){
console.log('금칙어가 있습니다.');
} else {
console.log('통과')
}
}
hasCola('와 사이다가 최고야!'); // -1 -> true -> 금칙어가 있습니다.
hasCola('무슨소리, 콜라가 최고야'); // 6 -> true -> 금칙어가 있습니다.
hasCola('콜라'); // 0 -> false -> 통과
function hasCola(str){
if(str.indexOf('콜라') > -1){
console.log('금칙어가 있습니다.');
} else {
console.log('통과')
}
}
hasCola('와 사이다가 최고야!'); // -1 -> false -> 통과
hasCola('무슨소리, 콜라가 최고야'); // 6 -> true -> 금칙어가 있습니다.
hasCola('콜라'); // 0 -> true -> 금칙어가 있습니다.
예제 3
function hasCola(str){
if(str.includes('콜라')){
console.log('금칙어가 있습니다.');
} else {
console.log('통과')
}
}
hasCola('와 사이다가 최고야!'); // 통과
hasCola('무슨소리, 콜라가 최고야'); // 금칙어가 있습니다.
hasCola('콜라'); // 금칙어가 있습니다.
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2);
console.log(arr); // [1, 4, 5]
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 3, 100, 200);
console.log(arr); // [1, 100, 200, 5]
let arr = ["나는", "happybeen", "입니다"];
arr.splice(1, 0, "대한민국", "개발자");
// 1부터 시작이고 0개 삭제니까 인덱스 1 자리에 들어감
console.log(arr); // ["나는", "대한민국", "개발자", "happybeen", "입니다"]
let arr = [1, 2, 3, 4, 5];
let result = arr.splice(1, 2);
console.log(arr); // [1, 4, 5]
console.log(result) // [2, 3] // 삭제된 두 요소가 result에 들어감
let arr = [1, 2, 3, 4, 5];
arr.slice(1, 4); // [2, 3, 4]
let arr2 = arr.slice();
console.log(arr2); // [1, 2, 3, 4, 5]
let arr = [1, 2];
arr.concat([3, 4]); // [1, 2, 3, 4]
arr.concat([3, 4], [5, 6]); // [1, 2, 3, 4, 5, 6]
arr.concat([3, 4], 5, 6); // [1, 2, 3, 4, 5, 6]
let users = ["Mike", "Tom", "Jane"];
users.forEach((item, index, arr) => {
//
});
let arr = ["Mike", "Tom", "Jane"];
users.forEach((name, index) => {
console.log(`${index + 1}. ${name}`)
});
// 1. Mike 2. Tom 3. Jane
arr.findIndex(fn)
let arr = [1, 2, 3, 4, 5, 1, 2, 3];
arr.indexOf(3); // 2
arr.indexOf(3, 3); // 7 (index 3부터 탐색해서 3을 찾아야 하니까 index 7이 나옴)
arr.lastIndexOf
arr.lastIndexOf(3); // 7
let arr = [1, 2, 3];
arr.includes(2); // true
arr.includes(8); // false
arr.find(fn)
arr.findIndex(fn)
예제
let arr = [1, 2, 3, 4, 5];
const result = arr.find((item) => {
return item % 2 === 0;
});
console.log(result); // 2
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Tom", age: 10 },
];
const result = userList.find((user)=>{
if (user.age < 19) {
return ture;
}
return false;
});
console.log(result); // {name: "Tom", age: 10}
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Tom", age: 10 },
];
const result = userList.findIndex((user)=>{
if (user.age < 19) {
return ture;
}
return false;
});
console.log(result); // 2
let arr = [1, 2, 3, 4, 5, 6];
const result = arr.filter((item) => {
return item % 2 === 0;
});
console.log(result); // [2, 4, 6]
let arr = [1, 2, 3, 4, 5];
arr.reverse(); // [5, 4, 3, 2, 1]
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Tom", age: 10 },
];
let newUserList = userList.map((user, index) => {
return Object.assign({}, user, {
id: index + 1
isAdult: user.age > 19,
});
});
console.log(newUserList);
/* 0: {name: "Mike", age: 30, id: 1, isAdult: true}
0: {name: "Jane", age: 27, id: 2, isAdult: true}
0: {name: "Tom", age: 10, id: 3, isAdult: false} */
let arr = ["안녕", "나는", "been이야"];
let result = arr.join();
// 아무것도 전달하지 않으면 쉼표로 구본되어 합쳐짐
// 안녕, 나는, been이야
console.log(result);
const users = "Mike,Jane,Tom,Tony";
const result = users.split(",");
console.log(result); // ["Mike","Jane","Tom","Tony"]
let user = {
name: "Mike",
age: 30,
};
let userList = ["Mike", "Tom", "Jane"];
console.log(typeof user); // object
console.log(typeof UserList); // object
console.log(Array.isArray(user)); // false
console.log(Array.isArray(userList)); // true
let arr = [1, 5, 4, 2, 3];
arr.sort();
console.log(arr); // [1, 2, 3, 4, 5]
let arr = ["a", "c", "d", "e", "b"];
arr.sort();
console.log(arr); // ["a", "b", "c", "d", "e"]
let arr = [27, 8, 5, 13];
arr.sort();
console.log(arr); // [13, 27, 5, 8]
let arr = [27, 8, 5, 13];
arr.sort((a, b) => {
return a - b;
});
console.log(arr);
// 8, 27, 5, 13
// 5, 8, 27, 13
// 5, 8, 13, 27
// [5, 8, 13, 27]
// 배열의 모든 수 합치기
let arr = [1, 2, 3, 4, 5];
// for, for of, forEach
let result = 0;
arr.forEach(num => {
// result = result + num;
result += num;
});
console.log(result); // 15
// 배열의 모든 수 합치기
let arr = [1, 2, 3, 4, 5];
// for, for of, forEach
const result = arr.reduce((prev, cur)=> {
return prev + cur;
}, 0)
console.log(result); // 15
성인들 이름만 배열로 만들기
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Hee", age: 15 },
{ name: "been", age: 14 },
{ name: "Lee", age: 10 },
];
let result = userList.reduce((prev, cur)=>{
if(cur.age > 19){
return prev.push(cur.name);
}
return prev;
},[])
console.log(result); // ["Mike, "Jane"]
나이의 합 구하기
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Hee", age: 15 },
{ name: "been", age: 14 },
{ name: "Lee", age: 10 },
];
let result = userList.reduce((prev, cur)=>{
return (prev += cur.age);
})
console.log(result); // 96
이름이 세 글자인 사람만 배열로 반환하기
let userList = [ { name: "Mike", age: 30 }, { name: "Jane", age: 27 }, { name: "Hee", age: 15 }, { name: "been", age: 14 }, { name: "Lee", age: 10 }, ];
let result = userList.reduce((prev, cur)=>{
if (cur.name.length === 3){
return prev.push(cur.name);
}
return prev;
},[]);
console.log(result); // ["Hee", "Lee"]
#### arr.reduceRight()
- reduce와 동일한 기능
- 배열 우측부터 연산을 수행한다는 차이가 있음
---
### 참고
- [코딩앙마 유튜브](https://youtu.be/4_WLS9Lj6n4?si=CKyOr09UuVpJTQ6d)