새로운 경험

[TIL]2022-12-08 JavaScript 메서드 정리

시바카오 2022. 12. 8.

객체 메소드(objext methods)

  • object.assign
	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 // 키/값 배열 반환
	
	object.entries(obj)
  • object.fromEntries
	object.fromEntries // 키/값 배열을 객체로

	object.fromEntries(arr)

Number / Math

  • toString
	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
  • toFixed
	let userRate = 30.1234;
	소수점 2째자리 까지 표현(셋째 자리에서 반올림)
	
	userRate.toFixed(2); // "30.12" 소수점 2쨰
	userRate.toFixed(0); // "30"	정수
	userRate.toFixed(6); // "30.123400" 뒤에없으면 0으로 채움
  • parseInt
	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() //부동 소수 반환

	parseFloat(string)
	
	let padding = '18.5%';

	parseInt(padding); // 18
	parseFloat(padding); //18.5
  • Math.random
	Math.random() // 0 ~ 1 사이의 무작위수

	1~100 까지 임의의 숫자를 뽑고 싶을떄
    
    Math.floor(Math.random()*100)+1
  • Math.max / Math.min
	최댓값
	Math.max(1,4,-1,5,10) // 10

	최솟값
	Math.min(1,4,-1,5,10) // -1
  • Math.abs
	Math.abs() // 절댓값

	Math.abs(-1) // 1
  • Math.pow
	Math.pow(n,m) // n의 m제곱 값

	Math.pow(2,10) // 1024
  • Math.sqrt
	Math.sqrt() // 제곱근 
	
	Math.sqrt(16) // 4

문자열 메소드

  • toUpperCase / toLowerCase
	.toUpperCase() // 대문자로  변경
	
	.toLowerCase() // 소문자로 변경
  • indexOf
	str.indexOf(text) // 몇번쨰 위치에 있는지 반환 없으면 -1 반환
  • slice
	str.slice(n,m) // n부터 M-1까지 자른다
  • substring
	str.substring(n,m)  // n과 m사이의 사이에 문자열 반환
						// 음수 허용을 안함 0으로 인식

	let str = 'abcdefg';
	
	str.substring(2,5) // "cde"
	str.substring(5,2) // "cde"
  • substr
	str.substr(n,m) // n부터 m개를 가져옴
	
	let str = 'abcdefg';
	
	str.substr(0,3) // "abc"
  • trim
	str.trim() // 앞뒤 공백 제거

	let str = "  coding       "
    
    str.trim() = "coding"
  • repeat
	str.repeat(n) // n번 반복
	
	let str = "str"

	str.repeat(2) // "strstr"
  • includes
	str.includes(text)  // text가있으면 true 없으면 false

배열 메소드

  • push / pop / unshift / shift
	push()		// 뒤에 추가
    pop()		// 뒤에 제거
    unshift()	// 앞에 추가
    shift()		// 앞에 삭제
  • splice
	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]
  • slice
	arr.slice(n,m)  // n부터 m-1까지 반환
					// m의 숫자가 배열의 길이보다 긴경우 배열의 끝까지 반환

	let arr = [1,2,3,4,5];
	arr.slice(1,4) 	// [2,3,4]
  • concat
	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]
  • forEach
	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
      						
    })
  • indexOf / lastIndexOf
	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
  • includes
	arr.includes()	// 포함하는지 확인

	let arr = [1,2,3];
	
	arr.includes(2); // true
	arr.includes(8); // false
  • find / findIndex
	// 주의 첫번쨰 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
  • filter
	arr.filter(fn)	// 만족하는 요소를 배열로 반환
	
	let arr = [1,2,3,4,5];

	const result = arr.filter((item)=>{
      	return item % 2 === 0;
    })
    console.log(result)	 // [2,4]
  • reverse
	arr.reverse()	// 역순으로 재정렬
	
	let arr = [1,2,3,4,5]
	arr.reverse();	// [5,4,3,2,1]
  • map
	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"}
	//	]
  • join
	arr.join() // 배열을 합쳐서 문자열로 바꿔준다

	let arr = ['안녕','나는','철수야']
	
	console.log(arr.join()) // "안녕,나는,철수야"
	console.log(arr.join('')) // "안녕나는철수야"
  • split
	str.split()	// 문자열을 나눠서 배열로 바꾼다
	const users = "Mike,jane,Tom,Tony"
    
    const result = users.split(",")	// ,기준으로 나눈다
    
    console.log(result)	// ["Mike","jane","Tom","Tony"]
  • sort / reduce
	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"]

'새로운 경험' 카테고리의 다른 글

[TIL]2022-12-13  (0) 2022.12.13
[WIL]6주차2022.12.04~2022.12.11 스파르타코딩클럽-내일배움캠프(항해99 국비ver)  (0) 2022.12.13
[TIL]2022-12-07  (0) 2022.12.08
[TIL]2022-12-06  (0) 2022.12.08
[TIL]2022-12-05  (0) 2022.12.06

댓글

💲 추천 글