lodash를 사용하여 특정 텍스트가 컬렉션에 포함되어 있는지를 확인하는 방법으로 includes()를 사용할 수 있습니다. 아래에서 자세히 알아봅니다.



# lodash includes() 알아보기
lodash 함수 includes()는 컬렉션에서 원하는 값이 있는지의 여부를 확인하기 위해서 사용하며 문법은 아래와 같습니다.

_.includes(Colleciton, 찾을 값, index[선택사항])


컬렉션인 객체, 배열, 문자열 등에 사용할 수 있으며 찾은 결과를 불리언(Boolean)인 true, false로 반환합니다. 만약 값이 있다면 true를 반환하게 됩니다.

Collection // 찾을 대상 컬렉션 값
찾을 값 // 존재 여부를 검색할 값
index // (선택사항) 찾을 위치를 index 이 후부터 검색


그럼 언제 사용할 수 있을까요? 만약 여러 개의 문단이 있는 경우 이 들 중 특정 문자가 포함된 글들만 화면에 보여주기 경우에도 사용할 수 있습니다. 그럼 아래에서 간단한 예제를 만들어봅니다.



! _.includes() 예제보기
아래 예제는 특정 컬렉션 데이터에서 찾을 문자열이 있는지 간단하게 확인하는 예제코드입니다. 먼저 변수 mySites를 아래와 같이 만들어봅니다.
let mySites = {
  no: 1,
  name: 'webisfee',
  sitename: '웹이즈프리'
};

이제 여러 개의 값들을 찾아보도록 하겠습니다.
_.includes(mySites, 1);

// 출력결과 : 1이 포함되어 있으므로 true
true

숫자, 문자 등등 여러 타입을 찾아 결과를 반환합니다.
_.includes(mySites, 1, 2);

// 출력결과 : 시작 위치 index가 2이므로 false
false

이와 같이 찾을 위치를 달리 할 경우에는 세 번째 인자로 index 값을 사용합니다.


! 문자열에 포함된 값 찾기
만약 긴 문자열에 특정 문자가 포함된 경우를 찾으려면 어떻게 할까요? 배열, 객체가 가진 값인 경우에는 완전히 일치하는 문자열만 찾아 결과를 반환하지만 문자열에서 바로 찾는 경우에는 포함된 경우(include)에는 true를 반환합니다. 아래의 세 가지 예제에서 결과를 먼저 확인하면 아래와 같습니다.
_.includes(mySites, '프리');
_.includes(mySites, '웹이즈프리');
_.includes(mySites.sitename, '프리');

// 출력결과
false
true
true

보시는 것처럼 첫 번째는 문자열이 아닌 객체 내부에서 찾기 때문에 완전히 일치하지 않으므로 false를 반환합니다. 완전히 일치하는 두 번째의 경우 true를 반환하였죠. 마지막 3번째의 경우는 텍스트 문자열에서는 포함된 경우 true를 반환하는 것을 알 수 있습니다.

여기까지 lodash의 includes()에 대하여 알아보았습니다.