1117 TIL 알고리즘 자습, Math메서드, 데이터베이스

중복단어 제거

내 코드

function solution(s){  
    let result = []
     for(let x of s){
         if(result.includes(x)) continue
         else result.push(x) 
     }
     return result
            }
let str=["good", "time", "good", "time", "student"];
console.log(solution(str));

답안 코드

function solution(s){  
     let result = s.filter(function(word,i){ //el,index
      if(s.indexOf(word) === i) return true
     })
     return result
            }
 let str=["good", "time", "good", "time", "student"];
 console.log(solution(str));

filter를 사용할때 index를 사용하는것도 오랜만이었고 indexOf를 사용해서 true로 걸러내는 방법은 신기했다.

자주 쓰는 Math 메서드

Math.floor 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환 (소수점 날릴때 사용) (parseInt와 비슷)
Math.ceil 주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 integer 로 반환합니다.

router

각각의 endpoint로 요청을 해당 controller로 분기할 수 있도록 길잡이역할을 해준다.

데이터베이스

비동기를 쓰는 방법은 세가지가 있다.
1. callback 2.promise 3. async await

MVC모델의 model부분(데이터베이스)을 비동기로 작성한다.
controller에서 데이터베이스로 요청을 보냈는데 쿼리에 대한 요청을 받기도 전에 응답을 보내면 안되기 때문에 데이터베이스에서 정보를 얻어올 때까지 일정기간 기다려야한다.

mySQL에서는 callback을 이용해서 비동기 처리를 한다.

그 외

Array.from 배열 얕은 복사

좋은 웹페이지 즐겨찾기