Functions

Lodash

import { cloneDeep ,...args } from '@confy-ui/utils/lodash'

API Reference

이 구성 요소는 Lodash 유틸리티에서의 모든 기능을 내보냅니다

Example

1. 배열에서 고유 값 추출 (uniq)

import _ from '@confy-ui/utils/lodash'
const array = [1, 2, 2, 3, 4, 4, 5];
console.log(_.uniq(array)); // [1, 2, 3, 4, 5]

2. 배열을 특정 기준으로 그룹화 (groupBy)

const users = [
{ "user": "John", "age": 25 },
{ "user": "Jane", "age": 22 },
{ "user": "Jim", "age": 25 },
{ "user": "Jack", "age": 22 },
];
console.log(_.groupBy(users, "age"));
// { '22': [ { user: 'Jane', age: 22 }, { user: 'Jack', age: 22 } ], '25': [ { user: 'John', age: 25 }, { user: 'Jim', age: 25 } ] }

3. 객체에서 특정 값 추출 (get)

const object = { a: { b: { c: 3 } } };
console.log(_.get(object, "a.b.c")); // 3
console.log(_.get(object, "a.b.d", "default")); // default

4. 객체 병합 (merge)

const object1 = { a: 1, b: { c: 3 } };
const object2 = { b: { d: 4 }, e: 5 };
console.log(_.merge(object1, object2));
// { a: 1, b: { c: 3, d: 4 }, e: 5 }

5. 배열에서 중첩된 객체 검색 (find)

const users = [
{ "user": "John", "age": 25 },
{ "user": "Jane", "age": 22 },
{ "user": "Jim", "age": 25 },
];
console.log(_.find(users, { age: 25 })); // { user: 'John', age: 25 }

6. 배열에서 값 필터링 (filter)

const numbers = [1, 2, 3, 4, 5];
console.log(_.filter(numbers, (num) => num % 2 === 0)); // [2, 4]

7. 배열을 내림차순으로 정렬 (orderBy)

const users = [
{ "user": "John", "age": 25 },
{ "user": "Jane", "age": 22 },
{ "user": "Jim", "age": 35 },
];
console.log(_.orderBy(users, ["age"], ["desc"]));
// [ { user: 'Jim', age: 35 }, { user: 'John', age: 25 }, { user: 'Jane', age: 22 } ]

8. 배열에서 중복된 값만 추출 (intersection)

const array1 = [1, 2, 3];
const array2 = [2, 3, 4];
console.log(_.intersection(array1, array2)); // [2, 3]

9. 함수 디바운스 (debounce)

import { debounce } from '@confy-ui/utils/lodash'
const log = debounce(() => {
console.log("Function called after 1 second!");
}, 1000);
log(); // 1초 후 호출
log(); // 마지막 호출만 유효

10. 배열에서 최대값 찾기 (maxBy)

const users = [
{ "user": "John", "age": 25 },
{ "user": "Jane", "age": 22 },
{ "user": "Jim", "age": 35 },
];
console.log(_.maxBy(users, "age")); // { user: 'Jim', age: 35 }

11. 값 존재 여부 확인 (has)

const object = { a: { b: { c: 3 } } };
console.log(_.has(object, "a.b.c")); // true
console.log(_.has(object, "a.b.d")); // false

12. 객체의 값을 변환 (mapValues)

const object = { a: 1, b: 2, c: 3 };
console.log(_.mapValues(object, (value) => value * 2));
// { a: 2, b: 4, c: 6 }
PreviousDayJs