JavaScript MDN , Lodash

하연·2021년 9월 7일
0

HTML/JavaScript

목록 보기
5/10
post-thumbnail

String 대한 매소드

의미문법
indexOf()문자열에서 주어진 문자가 처음으로 나오는 위치를 반환하고 없을 경우 -1을 반환한다.str.indexOf(searchValue[, fromIndex])
slice()문자열에서 일부를 추출하면서 새로운 문자열이 반환된다.str.slice(beginIndex[, endIndex])
replace()문자열 replace. 빈 문자로 replace해 문자를 지워줄 수도 있다.p.replace('dog', 'monkey')
match()문자열 replace. 빈 문자로 replace해 문자를 지워줄 수도 있다.str.match(regexp)
trim()특정 문자열의 앞뒤 모든 공백 문자를 제거 한다.str.trim()

Math 매소드

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math

의미
parseInt(str)문자열을 int형으로 반환.
parseFloat(str)문자열을 float형으로 반환.
Math.abs(num)숫자의 절댓값 반환.
Math.min(num1, num2)두개의 숫자중 작은 값 반환.
Math.max(num1, num2)두개의 숫자중 큰 값 반환.
Math.round(num)숫자를 반올림해 반환.
Math.ceil(num)숫자를 올림 처리해 반환.
Math.floor(num)숫자를 내림 처리해 반환.
Math.random()*num0부터 num개의 랜덤한 난수를 반환.

배열 매소드

의미문법
find()주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환한다.arr.find(callback[, thisArg])
lenth()배열의 길이를 반환한다.arr.lengh
concat()원본을 손상시키지 않고 두개의 배열데이터를 합쳐서 반환한다.array1.concat(array2)
forEach()주어진 함수를 배열 요소 각각에 대해 실행한다(반환값 따로 없음)= 반복문 .arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])
map()배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다. forEach랑은 다른게 map은 콜백 함수 안에서 return을 해준다.arr.map(callback(currentValue[, index[, array]])[, thisArg])
filter()주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다. forEach랑은 다른게 map은 콜백 함수 안에서 return을 해준다.arr.filter(callback(element[, index[, array]])[, thisArg])
find()주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환한다.arr.find(callback[, thisArg])
findIndex()주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환arr.findIndex(callback[, thisArg])
includes()배열이 특정 요소를 포함하고 있는지 판별한다. t/farr.includes(valueToFind[, fromIndex])
push()새로운 요소를 배열 맨뒤에 삽입 한다.arr.push(element)
unshift()새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환한다.arr.unhsift(element)
reverse()배열의 순서를 뒤집는다.arr.reverse()
splice()배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다. 중간에 삭제와 끼워 넣기 기능array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

Object 대한 매소드

의미문법
assign()source에 target을 복사해 집어 넣고 반환한다(새로운 메모리 주소에 생성). target 원본 객체가 수정된다.Object.assign(target, source)
keys()object데이터를 추출해서 배열 데이터로 반환한다.Object.keys(object1)

구조분해 할당 _object & array

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
}; 이런 객체가 있을때,

const{a,b:num, K}=object1; 이렇게 필요한 데이터만 가지고 올 수 있다. 

b를 num으로 rename한것 처럼 : 으로 할 수 있고 K처럼 객체에 없는 변수는 undefined로 출력된다. K="hehe" 라고 기본값을 지정해 줄 수 있는데 만약 K가 object1안에 있는 요소라면 기본값을 주어도 원래 object1안에 있는 정보로 덮어 씌워진다. 

전개 구문 Spread Syntax _object & array

반복문같이 객체 혹은 배열안에 있는 요소를 전부 불러내어 준다.

function sum(x, y, z) {
  return x + y + z;
}

const numbers = [1, 2, 3];

console.log(sum(...numbers)); //  output: 6

rest parameter

const numbers3 = [1, 2, 3];
const numbers4 = [1, 2, 3, 4];
function toOb = (a,b,...c) =>({a,b,c});

console.log(toOb(...numbers3));//numbers3을 toOb에 넣으면 a:1, b:2,c:3으로 1대1 매칭
console.log(toOb(...numbers4));//numbers4를 넣는다면 a:1, b:2, 까지 하고 나머지 모든 요소들을 배열로 c에 넣는다. c:{3,4}

얕은 복사를 할때는 전개 구문이나 assign()을 사용한다.
깊은 복사는 =, lodash_clonedeap(복사할거) 를 사용해 주소를 공유한다.

Lodash

_.unionBy(): concat과 동일하지만 중복된 값을 제거하여 고유한 값만 합친다.
_.uniquBy(): 중복된 값을 제거하여 고유한 값만 남긴다. concat 후 uniquBy 실행 = unionBy 같은 효과
_.find(): 지정한 객체에서 원하는 조건을 만족하고있는 요소 출력한다.
_.findIndex(): 지정한 객체에서 원하는 조건을 만족하고있는 요소가 몇번째 인지 출력한다.
_.remove(): 지정한 객체에서 원하는 조건을 만족하고있는 요소 제거한다.

개념 정리된 글: https://velog.io/@kysung95/짤막글-lodash-알고-쓰자

0개의 댓글