객체 메소드(objext methods)
object.assign() //객체 복사
Object.assign(target, ...sources)
예제)
const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }
- object.keys / Object.values
object.keys() //키 배열 반환
Object.keys(obj)
// 단순 배열
const arr = ['a', 'b', 'c'];
console.log(Object.keys(arr));
// console: ['0', '1', '2']
// 배열형 객체
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj));
// console: ['0', '1', '2']
// 키와 순서가 무작위인 배열형 객체
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj));
// console: ['2', '7', '100']
// getFoo 는 열거할 수 없는 속성입니다.
const myObj = Object.create({}, {
getFoo: {
value: function () { return this.foo; }
}
});
myObj.foo = 1;
console.log(Object.keys(myObj));
// console: ['foo']
object.values //값 배열 반환
Object.values(obj)
object.entries // 키/값 배열 반환
object.entries(obj)
object.fromEntries // 키/값 배열을 객체로
object.fromEntries(arr)
Number / Math
10진수를 => 2진수 / 16진수로 변환
//2진수를 다시 10진수로 만들려면 parseInt()
예제)
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010"
let num2 = 255;
num.toString(16); // "ff"
- Math.PI / Math.ceil / Math.floor / Math.round
Math.PI //3.14*********
Math.ceil //올림
Math.floor //내람
Math.round //반올림
예제)
let num1 = 5.1;
let num2 = 5.7;
Math.ceil(num1) // 6
Math.ceil(num2) // 6
Math.floor(num1) // 5
Math.floor(num2) // 5
Math.round(num1) // 5
Math.round(num2) // 6
let userRate = 30.1234;
소수점 2째자리 까지 표현(셋째 자리에서 반올림)
userRate.toFixed(2); // "30.12" 소수점 2쨰
userRate.toFixed(0); // "30" 정수
userRate.toFixed(6); // "30.123400" 뒤에없으면 0으로 채움
parseInt() // 숫자로 바꿔줌
let margin = "10px";
parseInt(margin) // 10
Number(margin) // NaN
let redColor = 'f3';
parseInt(redColor); //NaN 처음이 문자면 NaN
let redColor = 'f3';
parseInt(redColor,16); // 243 16진수로
parseInt('11',2); // 3 2진수로바꿈
parseFloat() //부동 소수 반환
parseFloat(string)
let padding = '18.5%';
parseInt(padding); // 18
parseFloat(padding); //18.5
Math.random() // 0 ~ 1 사이의 무작위수
1~100 까지 임의의 숫자를 뽑고 싶을떄
Math.floor(Math.random()*100)+1
최댓값
Math.max(1,4,-1,5,10) // 10
최솟값
Math.min(1,4,-1,5,10) // -1
Math.abs() // 절댓값
Math.abs(-1) // 1
Math.pow(n,m) // n의 m제곱 값
Math.pow(2,10) // 1024
Math.sqrt() // 제곱근
Math.sqrt(16) // 4
문자열 메소드
- toUpperCase / toLowerCase
.toUpperCase() // 대문자로 변경
.toLowerCase() // 소문자로 변경
str.indexOf(text) // 몇번쨰 위치에 있는지 반환 없으면 -1 반환
str.slice(n,m) // n부터 M-1까지 자른다
str.substring(n,m) // n과 m사이의 사이에 문자열 반환
// 음수 허용을 안함 0으로 인식
let str = 'abcdefg';
str.substring(2,5) // "cde"
str.substring(5,2) // "cde"
str.substr(n,m) // n부터 m개를 가져옴
let str = 'abcdefg';
str.substr(0,3) // "abc"
str.trim() // 앞뒤 공백 제거
let str = " coding "
str.trim() = "coding"
str.repeat(n) // n번 반복
let str = "str"
str.repeat(2) // "strstr"
str.includes(text) // text가있으면 true 없으면 false
배열 메소드
- push / pop / unshift / shift
push() // 뒤에 추가
pop() // 뒤에 제거
unshift() // 앞에 추가
shift() // 앞에 삭제
arr.splice(n,m) // n부터 m개 지운다 //특정 요소를 지움
let arr = [1,2,3,4,5]
arr.splice(1,2);
console.log(arr); // [1,4,5]
arr.splice(n,m,x) // n부터 m개 지운다 그자리에 x를 추가
//특정 요소를 지우고 추가
let arr = [1,2,3,4,5]
arr.splice(1,3,100,200);
console.log(arr); // [1,100,200,5]
arr.splice(1,0,100)
console.log(arr) // [1,100,2,3,4,5]
arr.splice() // 삭제된 요소 반환
let arr = [1,2,3,4,5]
let result = arr.splice(1,2);
console.log(arr) // [1,4,5]
console.log(result) // [2,3]
arr.slice(n,m) // n부터 m-1까지 반환
// m의 숫자가 배열의 길이보다 긴경우 배열의 끝까지 반환
let arr = [1,2,3,4,5];
arr.slice(1,4) // [2,3,4]
arr.concat(arr2,arr3 ...) // 합쳐서 새배열 반환
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.forEach(fn) // 배열 반복
let users = ['Mike','Tom','Jane']
users.forEach((item,index,arr)=>{});
Mike, 0 ,user
Tom , 1 ,user
Jane, 2 ,user
user.forEach((name,index) =>{
console.log(name); // Mike
// Tom
// Jane
console.log(`${index+1}.${name}`);
// 1.Mike
// 2.Tom
// 3.Jane
})
arr.indexOf() // 해당하는 인덱스를 반환
arr.lastIndexOf() // 배열의 끝부터 해당하는 인덱스 탐색
let arr = [1,2,3,4,5,1,2,3]
arr.indexOf(3); // 2
arr.indexOf(3,3) // arr[3]번쨰부터 3을 탐색
arr.lastIndexOf(3); // 7
arr.includes() // 포함하는지 확인
let arr = [1,2,3];
arr.includes(2); // true
arr.includes(8); // false
// 주의 첫번쨰 true 값만 반환하고 끝
// 만약 없으면 undefined 를 반환
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}
];
userList.find((user) =>{
if(user.age < 19){
return true
}
return false
})
console.log(result) // {name:"Tom",age:10}
userList.findIdex((user) =>{
if(user.age < 19){
return true
}
return false
})
console.log(result) // 2
arr.filter(fn) // 만족하는 요소를 배열로 반환
let arr = [1,2,3,4,5];
const result = arr.filter((item)=>{
return item % 2 === 0;
})
console.log(result) // [2,4]
arr.reverse() // 역순으로 재정렬
let arr = [1,2,3,4,5]
arr.reverse(); // [5,4,3,2,1]
arr.map(fn) // 함수를 받아 특정 기능을 시행하고 새로운 배열로 반환
let userList = [
{name:"Mike",age:30},
{name:"Jane",age:27},
{name:"Tom",age:10}
];
let newUserList = userList.map((user,index) => {
return Object.assign({},user,{
isAdult: user.age . 19,
})
})
console.log(newUserList)
// [
// {age: 30,isAdult: true,name:"Mike"},
// {age: 27,isAdult: true,name: "Jane"},
// {age: 10,isAdult: false,name: "Tom"}
// ]
arr.join() // 배열을 합쳐서 문자열로 바꿔준다
let arr = ['안녕','나는','철수야']
console.log(arr.join()) // "안녕,나는,철수야"
console.log(arr.join('')) // "안녕나는철수야"
str.split() // 문자열을 나눠서 배열로 바꾼다
const users = "Mike,jane,Tom,Tony"
const result = users.split(",") // ,기준으로 나눈다
console.log(result) // ["Mike","jane","Tom","Tony"]
arr.sort(fn) // 배열 재정렬
// 배열 자체가 변경되니 주의
let arr = [27,8,5,13]
arr.sort((a,b)=> a-b) // [5,8,13,27]
arr.sort((a,b)=> b-a) // [27,13,8,5]
arr.reduce(fn) // 배열을 돌면서 함수대로 최종값 반환
let arr = [1,2,3,4,5]
const result = arr.reduce((prev,cur)=> {
return prev + cur;
},0) // 초기값 0
conselo.log(result) // 15
let userList =[
{name: "Mike",age:30},
{name: "Tom",age:10},
{name: "Jane",age:27},
{name: "sue",age:26}
]
let result =userList.reduce((prev,cur)=>{
if(cur.age > 19){
prev.push(cur.name)
}
return prev
},[]) // 초기값 []
console.log(result) //["Mike","Jane","sue"]
댓글