본문 바로가기

Node.js/NPM

쓸만한 Lodash 메소드들

Lodash의 메소드를 이용하면 배열이나 객체와 같은 데이터들을 손쉽게 원하는 대로 변경할 수 있다.

설치법 : https://lodash.com/

 

_.range(start, end, step);

오름차순이나 내림차순 숫자로 이뤄진 배열을 만들 때 쓴다.

게시판의 페이지를 넘길 수 있는 숫자를 표시할 때 쓴다.

// 1부터 시작해서 5 이전의 숫자까지를 담는 배열을 생성한다.

_.range(1, 5);

// [1, 2, 3, 4]

https://lodash.com/docs/4.17.15#range

 

_.orderBy(array, propertys, orders);

게시판의 글들을 분류할 때 쓴다.

var users = [

    { 'user': 'fred',   'age': 48 },

    { 'user': 'barney', 'age': 34 },

    { 'user': 'fred',   'age': 40 },

    { 'user': 'barney', 'age': 36 }

];

// user에 따라 먼저 오름차순으로 정렬한 다음에 나머지를 age에 따라 내림차순으로 정렬한다.

_.orderBy(users, ['user', 'age'], ['asc', 'desc']);

// [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]

https://lodash.com/docs/4.17.15#orderBy

 

_.pick(object, array);

객체의 필요한 속성만 뽑을 때 쓴다.

var user = {

    name: 'socratone',

    password: '12345678'

};

// 클라이언트에게 보내주기 위해 user 객체에서 비밀번호를 뺀다.

_.pick(user, ['name']);

// { name: 'socratone' }

https://lodash.com/docs/4.17.15#pick

 

_.cloneDeep(object);

객체를 deep copy 할 때 사용한다.

리액트의 state 변경시에 사용하면 편하다.

https://www.geeksforgeeks.org/lodash-_-clonedeep-method/

 

_.isEqual(object1, object2);

객체 내부의 모든 값이 일치하는지 확인한다.

여러 input의 초기값과 입력한 값에 차이가 있는지를 확인할 때 쓰면 편하다.

https://www.geeksforgeeks.org/lodash-_-isequal-method/

 

그밖에...

_.slice

_.take

_.value

_(items).slice(something).take(something).value();