기본기부족!
알고리즘테스트 문제를 풀면서 문제를 이해하는것도 어렵지만 문제를 이해했다고 가정하더라도, 데이터를 어떻게 내가 원하는 데로 가공해야하는지 떠오르지않아 괴로웠다. 결론은 내 기본기 부족.
기본기가 탄탄했다면 그동안 흘러왔던 프로젝트에서 좀더 효과적으로 코드를 짤수 있지 않았을까 생각이 들었고, 이제는 다시 기본기를 충실히 해야할것같아 기본적인 문법부터 다시 훑어봤다.
1. Object.keys & Object.values
키나 밸류를 배열로 생성
const a = {brand:"bmw", model:'520d'};
const key_arr = Object.keys(a) // key로 배열 생성
const value_arr = Object.values(a) // value로 배열 생성
2. trim()
문자열의 공백제거
const greeting = ' Hello world! ';
console.log(greeting); // " Hello world! ";
console.log(greeting.trim());// "Hello world!";
3. substring & substr 메소드
특정구간의 문자열 추출
1. substr() : 문자열.substr(탐색시작점, 탐색종료점) <- 시작과 종료사이 문자열 반환
탐색시작점이 음수면 뒤에서부터 시작
2. substring() : 문자열.substr(탐색시작점, 필요한길이) <- 시작점부터과 길이만큼 문자열 반환
substr(시작인덱스, 종료인덱스
var a = "주니어 개발자"
console.log(a.substr(0)) //주니어 개발자
console.log(a.substr(1)) //니어 개발자
console.log(a.substr(2)) //어 개발자
console.log(a.substr(3)) // 개발자
console.log(a.substr(4)) //개발자
console.log(a.substr(5)) //발자
console.log(a.substr(6)) //자
console.log(a.substr(7)) //
console.log(a.substr(1,2)) //니어
console.log(a.substr(2,3)) //어 개
console.log(a.substr(3,7)) // 개발자
console.log(a.substr(4,5)) //개발자
console.log(a.substr(5,6))//발자
console.log(a.substr(-3)) //개발자
console.log(a.substr(-4,3)) // 개발
substring(시작인덱스, 길이)
console.log(a.substring(0,3)) 주니어
4. 문자열에 관한 메소드
1. concat 문자열 또는 배열 하나로 합치기
2. indexOf("블라블라") 특정문자위치찾기
3. toUpperCase() 특정문자위치찾기
4. toLowerCase() 특정문자위치찾기
var str1 = "Melona"
var str2 = "Babamba"
str1.concat(str2) // MelonaBabamba
str1.indexOf("o") // 3
str1.toUpperCase() // MELONA
str1.toLowerCase() // melona
5. filter, find, map, reduce
1.filter
배열에서 특정 값을 찾는 조건을 callback 함수를 통해 전달하고 조건에 맞는 것 전부 리턴 없으면 undefined
arr=[1,2,3,4,5]
const result = arr.filter = arr.filter(a => a>3)
console.log(result) // [4,5]
2.find
배열에서 특정 값을 찾는 조건을 callback 함수를 통해 전달하고 조건에 맞는 것 제일 최신값1개반환 없으면 undefined
arr=[1,2,3,4,5]
const result = arr.filter = arr.filter(a => a>3)
console.log(result) // 4
3.map
배열에서 callback함수로 실핸한 결과를 통해 새로운 배열을 만들때 사용
arr=[1,2,3,4,5]
const result = arr.map(a => a*2)
console.log(result) // [2,4,6,8,10]
4.reduce
배열의 왼쪽부터 콜백함수를 실행후 누산
var arr = [1, 2, 3, 4];
var result = arr.reduce((acc, cur, i) => {
console.log(
`인덱스:${i}, 누산:${acc}, 현재:${cur}`
);
//인덱스:1, 누산:1, 현재:2
//인덱스:2, 누산:3, 현재:3
//인덱스:3, 누산:6, 현재:4
//인덱스:4, 누산:10, 현재:5
return acc + element;
});
console.log(result); // 10
6. sort
기본 오름차순 ASCII문자 순서대로 정렬
var a=[1,4,13,2]
var b=['ap','xas','asda','cvv']
a.sort() // 1,14,2,4
b.sort() // ['ap', 'asda', 'cvv', 'xas']
a.sort((a,b) => { return a-b}); //오름차순
(4) [1, 2, 4, 13]
a.sort((a,b) => { return b-a}); //내림차순
(4) [13, 4, 2, 1]
7. Math
Math.random() 랜덤한 수
Math.floor() 내림
Math.ceil() 올림
Math.round() 반올림
Math.random() // 0.9804709504203035
Math.random() // 0.1610008567323462
Math.random()*10 // 3.8360401243841635
Math.floor(Math.random()*10) // 1
Math.floor(Math.random()*10) // 5
Math.floor(Math.random()*10) // 3
'WEB > Node.js' 카테고리의 다른 글
[Javascript] Arrow function, 화살표함수 (0) | 2021.12.10 |
---|---|
[Javascript] this가 도대체 뭘까? this가 가리키는 총 4가지 (0) | 2021.12.10 |
[JavaScript] 자바스크립트 기본문법 (0) | 2021.12.07 |
[JavaScript] 무엇으로 변수를 선언하는것이 좋을까 ? var, let, const 의 차이와 호이스팅 (0) | 2021.12.07 |
[JavaScript] 형변환 Number() 와 parseInt()의 차이 (0) | 2021.12.07 |