[javascript] Lodash의 비교 함수들과 사용 예제

Lodash는 JavaScript 유틸리티 라이브러리로, 다양한 기능을 제공합니다. 여기서는 Lodash의 비교 함수들과 사용 예제에 대해 알아보겠습니다.

_.isEqual()

_.isEqual() 함수는 두 개의 값이 동등한지 비교하는 함수입니다. Deep comparison을 수행하여 객체나 배열 등의 값들도 비교할 수 있습니다.

const obj1 = { a: 1, b: 2 };
const obj2 = { a: 1, b: 2 };
console.log(_.isEqual(obj1, obj2));  // true

const arr1 = [1, 2, 3];
const arr2 = [1, 2, 3];
console.log(_.isEqual(arr1, arr2));  // true

const str1 = 'hello';
const str2 = 'world';
console.log(_.isEqual(str1, str2));  // false

_.includes()

_.includes() 함수는 주어진 배열이 특정 값을 포함하는지 확인하는 함수입니다.

const arr = [1, 2, 3, 4, 5];
console.log(_.includes(arr, 3));  // true
console.log(_.includes(arr, 6));  // false

_.isEmpty()

_.isEmpty() 함수는 객체나 배열이 비어있는지 확인하는 함수입니다.

const obj = { a: 1, b: 2 };
console.log(_.isEmpty(obj));  // false

const arr = [1, 2, 3];
console.log(_.isEmpty(arr));  // false

const emptyObj = {};
console.log(_.isEmpty(emptyObj));  // true

const emptyArr = [];
console.log(_.isEmpty(emptyArr));  // true

_.isEqualWith()

_.isEqualWith() 함수는 _.isEqual()과 유사하지만, 사용자가 정의한 비교 함수를 사용할 수 있습니다.

function customIsEqual(value1, value2) {
  if (value1 === value2) {
    return true;
  }

  if (typeof value1 === 'string' && typeof value2 === 'string') {
    return value1.toLowerCase() === value2.toLowerCase();
  }

  return false;
}

console.log(_.isEqualWith('hello', 'HELLO', customIsEqual));  // true

Lodash의 비교 함수들을 활용하면 JavaScript에서 간편하게 비교 작업을 수행할 수 있습니다. Lodash 문서에서 더 많은 함수들을 확인하고 활용해보세요.

참고 문서