[Level up] 데이터 실습(2) - Lodash 사용법

01 Lodash 문서 참고

Lodash 문서 참고

  • 위 링크 주소로 들어가 documentaion을 클릭하면 Lodash의 여러가지 문법에 대해서 확인할 수 있는 문서가 있습니다.

02.uniqBy

  • 하나의 배열 데이터에서 특정한 속성의 이름으로 데이터의 중복을 제거해주는 메소드
  • _.uniqBy(A, B):
  • A: 중복 데이터를 제거할 배열 데이터
  • B: 중복을 구분할 고유한 속성의 이름
  • 배열 데이터가 하나 일 경우에 사용한다.
import _ from 'lodash';

const usersA = [
	{ userId: '1', name: 'HEROPY' },
	{ userId: '2', name: 'Neo' }
]

const usersB = [
	{ userId: '1', name: 'HEROPY' },
	{ userId: '3', name: 'Amy' }
]

const usersC = usersA.concat(usersB); // 두 배열 데이터 병합 (중복 데이터 발생!)
console.log('concat', usersC);
// { userId: '1', name: 'HEROPY' },
// { userId: '2', name: 'Neo' },
// { userId: '1', name: 'HEROPY' },
// { userId: '3', name: 'Amy' }
console.log('uniqBy', _.uniqBy(usersC, 'userId')); // 중복된 데이터 1개 제거
// { userId: '1', name: 'HEROPY' },
// { userId: '2', name: 'Neo' },
// { userId: '3', name: 'Amy' }

03.unionBy

  • 두 개의 배열을 하나로 병합하기전 여러개의 배열 데이터를 적어주고 마지막으로 배열 데이터를 고유화 시켜줄 특정한 속성의 이름을 적어주면 중복이 제거된 새로운 배열을 반환하는 메소드
  • 배열 데이터가 여러개일 경우에 사용한다.
  • _.unionBy(A, B, C):
  • A, B: 병합할 배열 데이터
  • C: 중복을 구분할 고유한 속성의 이름
import _ from 'lodash';

const usersA = [
	{ userId: '1', name: 'HEROPY' },
	{ userId: '2', name: 'Neo' }
]

const usersB = [
	{ userId: '1', name: 'HEROPY' },
	{ userId: '3', name: 'Amy' }
]

const usersD = _.unionBy(usersA, usersB, 'userId');
console.log('unionBy', usersD);
// { userId: '1', name: 'HEROPY' },
// { userId: '2', name: 'Neo' },
// { userId: '3', name: 'Amy' }

04.find

  • 내용이 많은 배열 데이터에서 특정한 내용이 포함되어 있는 객체 데이터를 찾는 메소드
  • _.find(A, B):
  • A: 배열 데이터의 이름
  • B: 찾아낼 객체 데이터의 내용
const users = [
  { userId: '1', name: 'HEROPY' },
  { userId: '2', name: 'Neo' },
  { userId: '3', name: 'Amy' },
  { userId: '4', name: 'Evan' },
  { userId: '5', name: 'Lewis' }
]

const foundUser = _.find(users, { name: 'Amy' }); 
// find(배열 데이터 이름, { 내가 찾고자하는 Key: Value });
console.log(foundUser); //  { userId: '3', name: 'Amy' }

05.findIndex

  • 내용이 많은 배열 데이터에서 내가 찾고자하는 특정 데이터의 인덱스 번호를 반환하는 메소드
  • _.findIndex(A, B):
  • A: 배열 데이터의 이름
  • B: 찾아낼 객체 데이터의 내용
const users = [
  { userId: '1', name: 'HEROPY' },
  { userId: '2', name: 'Neo' },
  { userId: '3', name: 'Amy' },
  { userId: '4', name: 'Evan' },
  { userId: '5', name: 'Lewis' }
]

const foundUserIndex = _.findIndex(users, { name: 'Amy' }); 
// findIndex(배열 데이터 이름, { 내가 찾고자하는 Key: Value });
console.log(foundUser) // { userId: '3', name: 'Amy' }
console.log(foundUserIndex) // 2 

06.remove

  • 내용이 많은 배열 데이터에서내가 원하는 특정한 객체를 데이터를 삭제하고 남은 배열 데이터를 반환 하는 메소드
const users = [
  { userId: '1', name: 'HEROPY' },
  { userId: '2', name: 'Neo' },
  { userId: '3', name: 'Amy' },
  { userId: '4', name: 'Evan' },
  { userId: '5', name: 'Lewis' }
]

_.remove(users, { name: "HEROPY"}); // remove(배열 데이터 이름, { 내가 삭제자하는 Key: Value });
console.log(users);
//  { userId: '2', name: 'Neo' },
//  { userId: '3', name: 'Amy' },
//  { userId: '4', name: 'Evan' },
//  { userId: '5', name: 'Lewis' }

좋은 웹페이지 즐겨찾기