mirror of
https://github.com/toss/es-toolkit.git
synced 2024-11-27 14:57:44 +03:00
docs(isEqual): Add isEqual docs (#200)
This commit is contained in:
parent
c1c3b3f708
commit
3f407712e4
55
benchmarks/isEqual.bench.ts
Normal file
55
benchmarks/isEqual.bench.ts
Normal file
@ -0,0 +1,55 @@
|
||||
import { bench, describe } from 'vitest';
|
||||
import { isEqual as isEqualToolkit } from 'es-toolkit';
|
||||
import { isEqual as isEqualLodash } from 'lodash';
|
||||
|
||||
describe('isEqual', () => {
|
||||
bench('es-toolkit/isEqual', () => {
|
||||
isEqualToolkit(1, 1);
|
||||
isEqualToolkit('hello', 'hello');
|
||||
isEqualToolkit(true, true);
|
||||
|
||||
isEqualToolkit('hello', 'world');
|
||||
isEqualToolkit(true, false);
|
||||
|
||||
isEqualToolkit(NaN, NaN);
|
||||
isEqualToolkit(+0, -0);
|
||||
|
||||
isEqualToolkit(new Date('2020-01-01'), new Date('2020-01-01'));
|
||||
isEqualToolkit(new Date('2020-01-01'), new Date('2021-01-01'));
|
||||
|
||||
isEqualToolkit(/hello/g, /hello/g);
|
||||
isEqualToolkit(/hello/g, /hello/i);
|
||||
|
||||
isEqualToolkit({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 2 } });
|
||||
isEqualToolkit({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 3 } });
|
||||
isEqualToolkit({ a: 1, b: 2 }, { a: 1, b: 2 });
|
||||
|
||||
isEqualToolkit([1, 2, 3], [1, 2, 3]);
|
||||
isEqualToolkit([1, 2, 3], [1, 2, 4]);
|
||||
});
|
||||
|
||||
bench('lodash/isEqual', () => {
|
||||
isEqualLodash(1, 1);
|
||||
isEqualLodash('hello', 'hello');
|
||||
isEqualLodash(true, true);
|
||||
|
||||
isEqualLodash('hello', 'world');
|
||||
isEqualLodash(true, false);
|
||||
|
||||
isEqualLodash(NaN, NaN);
|
||||
isEqualLodash(+0, -0);
|
||||
|
||||
isEqualLodash(new Date('2020-01-01'), new Date('2020-01-01'));
|
||||
isEqualLodash(new Date('2020-01-01'), new Date('2021-01-01'));
|
||||
|
||||
isEqualLodash(/hello/g, /hello/g);
|
||||
isEqualLodash(/hello/g, /hello/i);
|
||||
|
||||
isEqualLodash({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 2 } });
|
||||
isEqualLodash({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 3 } });
|
||||
isEqualLodash({ a: 1, b: 2 }, { a: 1, b: 2 });
|
||||
|
||||
isEqualLodash([1, 2, 3], [1, 2, 3]);
|
||||
isEqualLodash([1, 2, 3], [1, 2, 4]);
|
||||
});
|
||||
});
|
@ -1,9 +1,9 @@
|
||||
import { type DefaultTheme, defineConfig } from "vitepress";
|
||||
import { type DefaultTheme, defineConfig } from 'vitepress';
|
||||
|
||||
export const en = defineConfig({
|
||||
lang: "en",
|
||||
lang: 'en',
|
||||
description:
|
||||
"A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.",
|
||||
'A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.',
|
||||
|
||||
themeConfig: {
|
||||
nav: nav(),
|
||||
@ -11,12 +11,12 @@ export const en = defineConfig({
|
||||
sidebar: sidebar(),
|
||||
|
||||
editLink: {
|
||||
pattern: "https://github.com/toss/es-toolkit/edit/main/docs/:path",
|
||||
text: "Edit this page on GitHub",
|
||||
pattern: 'https://github.com/toss/es-toolkit/edit/main/docs/:path',
|
||||
text: 'Edit this page on GitHub',
|
||||
},
|
||||
|
||||
footer: {
|
||||
message: "Released under the MIT License.",
|
||||
message: 'Released under the MIT License.',
|
||||
copyright: `Copyright © ${new Date().getFullYear()} Viva Republica, Inc.`,
|
||||
},
|
||||
},
|
||||
@ -24,141 +24,142 @@ export const en = defineConfig({
|
||||
|
||||
function nav(): DefaultTheme.NavItem[] {
|
||||
return [
|
||||
{ text: "Home", link: "/" },
|
||||
{ text: "Introduction", link: "/intro" },
|
||||
{ text: "Reference", link: "/reference/array/chunk" },
|
||||
{ text: 'Home', link: '/' },
|
||||
{ text: 'Introduction', link: '/intro' },
|
||||
{ text: 'Reference', link: '/reference/array/chunk' },
|
||||
];
|
||||
}
|
||||
|
||||
function sidebar(): DefaultTheme.Sidebar {
|
||||
return [
|
||||
{
|
||||
text: "Guide",
|
||||
text: 'Guide',
|
||||
items: [
|
||||
{ text: "Introduction", link: "/intro" },
|
||||
{ text: "Installation", link: "/installation" },
|
||||
{ text: "Impact on Bundle Size", link: "/bundle-size" },
|
||||
{ text: "Performance", link: "/performance" },
|
||||
{ text: "Compatibility with Lodash", link: "/compatibility" },
|
||||
{ text: 'Introduction', link: '/intro' },
|
||||
{ text: 'Installation', link: '/installation' },
|
||||
{ text: 'Impact on Bundle Size', link: '/bundle-size' },
|
||||
{ text: 'Performance', link: '/performance' },
|
||||
{ text: 'Compatibility with Lodash', link: '/compatibility' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Reference",
|
||||
text: 'Reference',
|
||||
items: [
|
||||
{
|
||||
text: "Array Utilities",
|
||||
text: 'Array Utilities',
|
||||
items: [
|
||||
{ text: "chunk", link: "/reference/array/chunk" },
|
||||
{ text: "countBy", link: "/reference/array/countBy" },
|
||||
{ text: "compact", link: "/reference/array/compact" },
|
||||
{ text: "difference", link: "/reference/array/difference" },
|
||||
{ text: "differenceBy", link: "/reference/array/differenceBy" },
|
||||
{ text: "differenceWith", link: "/reference/array/differenceWith" },
|
||||
{ text: "drop", link: "/reference/array/drop" },
|
||||
{ text: "dropWhile", link: "/reference/array/dropWhile" },
|
||||
{ text: "dropRight", link: "/reference/array/dropRight" },
|
||||
{ text: "dropRightWhile", link: "/reference/array/dropRightWhile" },
|
||||
{ text: "fill", link: "/reference/array/fill" },
|
||||
{ text: "toFilled", link: "/reference/array/toFilled" },
|
||||
{ text: "flatten", link: "/reference/array/flatten" },
|
||||
{ text: "flattenDeep", link: "/reference/array/flattenDeep" },
|
||||
{ text: "forEachRight", link: "/reference/array/forEachRight" },
|
||||
{ text: "groupBy", link: "/reference/array/groupBy" },
|
||||
{ text: "intersection", link: "/reference/array/intersection" },
|
||||
{ text: "intersectionBy", link: "/reference/array/intersectionBy" },
|
||||
{ text: 'chunk', link: '/reference/array/chunk' },
|
||||
{ text: 'countBy', link: '/reference/array/countBy' },
|
||||
{ text: 'compact', link: '/reference/array/compact' },
|
||||
{ text: 'difference', link: '/reference/array/difference' },
|
||||
{ text: 'differenceBy', link: '/reference/array/differenceBy' },
|
||||
{ text: 'differenceWith', link: '/reference/array/differenceWith' },
|
||||
{ text: 'drop', link: '/reference/array/drop' },
|
||||
{ text: 'dropWhile', link: '/reference/array/dropWhile' },
|
||||
{ text: 'dropRight', link: '/reference/array/dropRight' },
|
||||
{ text: 'dropRightWhile', link: '/reference/array/dropRightWhile' },
|
||||
{ text: 'fill', link: '/reference/array/fill' },
|
||||
{ text: 'toFilled', link: '/reference/array/toFilled' },
|
||||
{ text: 'flatten', link: '/reference/array/flatten' },
|
||||
{ text: 'flattenDeep', link: '/reference/array/flattenDeep' },
|
||||
{ text: 'forEachRight', link: '/reference/array/forEachRight' },
|
||||
{ text: 'groupBy', link: '/reference/array/groupBy' },
|
||||
{ text: 'intersection', link: '/reference/array/intersection' },
|
||||
{ text: 'intersectionBy', link: '/reference/array/intersectionBy' },
|
||||
{
|
||||
text: "intersectionWith",
|
||||
link: "/reference/array/intersectionWith",
|
||||
text: 'intersectionWith',
|
||||
link: '/reference/array/intersectionWith',
|
||||
},
|
||||
{ text: "keyBy", link: "/reference/array/keyBy" },
|
||||
{ text: "minBy", link: "/reference/array/minBy" },
|
||||
{ text: "maxBy", link: "/reference/array/maxBy" },
|
||||
{ text: "orderBy", link: "/reference/array/orderBy" },
|
||||
{ text: "partition", link: "/reference/array/partition" },
|
||||
{ text: "sample", link: "/reference/array/sample" },
|
||||
{ text: "sampleSize", link: "/reference/array/sampleSize" },
|
||||
{ text: "shuffle", link: "/reference/array/shuffle" },
|
||||
{ text: "take", link: "/reference/array/take" },
|
||||
{ text: "takeWhile", link: "/reference/array/takeWhile" },
|
||||
{ text: "takeRight", link: "/reference/array/takeRight" },
|
||||
{ text: "takeRightWhile", link: "/reference/array/takeRightWhile" },
|
||||
{ text: "union", link: "/reference/array/union" },
|
||||
{ text: "unionBy", link: "/reference/array/unionBy" },
|
||||
{ text: "unionWith", link: "/reference/array/unionWith" },
|
||||
{ text: "uniq", link: "/reference/array/uniq" },
|
||||
{ text: "uniqBy", link: "/reference/array/uniqBy" },
|
||||
{ text: "uniqWith", link: "/reference/array/uniqWith" },
|
||||
{ text: "unzip", link: "/reference/array/unzip" },
|
||||
{ text: "unzipWith", link: "/reference/array/unzipWith" },
|
||||
{ text: "without", link: "/reference/array/without" },
|
||||
{ text: "xor", link: "/reference/array/xor" },
|
||||
{ text: "xorBy", link: "/reference/array/xorBy" },
|
||||
{ text: "xorWith", link: "/reference/array/xorWith" },
|
||||
{ text: "zip", link: "/reference/array/zip" },
|
||||
{ text: "zipObject", link: "/reference/array/zipObject" },
|
||||
{ text: "zipWith", link: "/reference/array/zipWith" },
|
||||
{ text: "head", link: "/reference/array/head" },
|
||||
{ text: "tail", link: "/reference/array/tail" },
|
||||
{ text: "last", link: "/reference/array/last" },
|
||||
{ text: "initial", link: "/reference/array/initial" },
|
||||
{ text: 'keyBy', link: '/reference/array/keyBy' },
|
||||
{ text: 'minBy', link: '/reference/array/minBy' },
|
||||
{ text: 'maxBy', link: '/reference/array/maxBy' },
|
||||
{ text: 'orderBy', link: '/reference/array/orderBy' },
|
||||
{ text: 'partition', link: '/reference/array/partition' },
|
||||
{ text: 'sample', link: '/reference/array/sample' },
|
||||
{ text: 'sampleSize', link: '/reference/array/sampleSize' },
|
||||
{ text: 'shuffle', link: '/reference/array/shuffle' },
|
||||
{ text: 'take', link: '/reference/array/take' },
|
||||
{ text: 'takeWhile', link: '/reference/array/takeWhile' },
|
||||
{ text: 'takeRight', link: '/reference/array/takeRight' },
|
||||
{ text: 'takeRightWhile', link: '/reference/array/takeRightWhile' },
|
||||
{ text: 'union', link: '/reference/array/union' },
|
||||
{ text: 'unionBy', link: '/reference/array/unionBy' },
|
||||
{ text: 'unionWith', link: '/reference/array/unionWith' },
|
||||
{ text: 'uniq', link: '/reference/array/uniq' },
|
||||
{ text: 'uniqBy', link: '/reference/array/uniqBy' },
|
||||
{ text: 'uniqWith', link: '/reference/array/uniqWith' },
|
||||
{ text: 'unzip', link: '/reference/array/unzip' },
|
||||
{ text: 'unzipWith', link: '/reference/array/unzipWith' },
|
||||
{ text: 'without', link: '/reference/array/without' },
|
||||
{ text: 'xor', link: '/reference/array/xor' },
|
||||
{ text: 'xorBy', link: '/reference/array/xorBy' },
|
||||
{ text: 'xorWith', link: '/reference/array/xorWith' },
|
||||
{ text: 'zip', link: '/reference/array/zip' },
|
||||
{ text: 'zipObject', link: '/reference/array/zipObject' },
|
||||
{ text: 'zipWith', link: '/reference/array/zipWith' },
|
||||
{ text: 'head', link: '/reference/array/head' },
|
||||
{ text: 'tail', link: '/reference/array/tail' },
|
||||
{ text: 'last', link: '/reference/array/last' },
|
||||
{ text: 'initial', link: '/reference/array/initial' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Function Utilities",
|
||||
text: 'Function Utilities',
|
||||
items: [
|
||||
{ text: "debounce", link: "/reference/function/debounce" },
|
||||
{ text: "throttle", link: "/reference/function/throttle" },
|
||||
{ text: "negate", link: "/reference/function/negate" },
|
||||
{ text: "once", link: "/reference/function/once" },
|
||||
{ text: "noop", link: "/reference/function/noop" },
|
||||
{ text: 'debounce', link: '/reference/function/debounce' },
|
||||
{ text: 'throttle', link: '/reference/function/throttle' },
|
||||
{ text: 'negate', link: '/reference/function/negate' },
|
||||
{ text: 'once', link: '/reference/function/once' },
|
||||
{ text: 'noop', link: '/reference/function/noop' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Math Utilities",
|
||||
text: 'Math Utilities',
|
||||
items: [
|
||||
{ text: "clamp", link: "/reference/math/clamp" },
|
||||
{ text: "inRange", link: "/reference/math/inRange" },
|
||||
{ text: "mean", link: "/reference/math/mean" },
|
||||
{ text: "meanBy", link: "/reference/math/meanBy" },
|
||||
{ text: "random", link: "/reference/math/random" },
|
||||
{ text: "randomInt", link: "/reference/math/randomInt" },
|
||||
{ text: "range", link: "/reference/math/range" },
|
||||
{ text: "round", link: "/reference/math/round" },
|
||||
{ text: "sum", link: "/reference/math/sum" },
|
||||
{ text: "sumBy", link: "/reference/math/sumBy" },
|
||||
{ text: 'clamp', link: '/reference/math/clamp' },
|
||||
{ text: 'inRange', link: '/reference/math/inRange' },
|
||||
{ text: 'mean', link: '/reference/math/mean' },
|
||||
{ text: 'meanBy', link: '/reference/math/meanBy' },
|
||||
{ text: 'random', link: '/reference/math/random' },
|
||||
{ text: 'randomInt', link: '/reference/math/randomInt' },
|
||||
{ text: 'range', link: '/reference/math/range' },
|
||||
{ text: 'round', link: '/reference/math/round' },
|
||||
{ text: 'sum', link: '/reference/math/sum' },
|
||||
{ text: 'sumBy', link: '/reference/math/sumBy' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Object Utilities",
|
||||
text: 'Object Utilities',
|
||||
items: [
|
||||
{ text: "clone", link: "/reference/object/clone" },
|
||||
{ text: "omit", link: "/reference/object/omit" },
|
||||
{ text: "omitBy", link: "/reference/object/omitBy" },
|
||||
{ text: "pick", link: "/reference/object/pick" },
|
||||
{ text: "pickBy", link: "/reference/object/pickBy" },
|
||||
{ text: "invert", link: "/reference/object/invert" },
|
||||
{ text: 'clone', link: '/reference/object/clone' },
|
||||
{ text: 'omit', link: '/reference/object/omit' },
|
||||
{ text: 'omitBy', link: '/reference/object/omitBy' },
|
||||
{ text: 'pick', link: '/reference/object/pick' },
|
||||
{ text: 'pickBy', link: '/reference/object/pickBy' },
|
||||
{ text: 'invert', link: '/reference/object/invert' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Predicates",
|
||||
text: 'Predicates',
|
||||
items: [
|
||||
{ text: "isNil", link: "/reference/predicate/isNil" },
|
||||
{ text: "isNotNil", link: "/reference/predicate/isNotNil" },
|
||||
{ text: "isNull", link: "/reference/predicate/isNull" },
|
||||
{ text: "isUndefined", link: "/reference/predicate/isUndefined" },
|
||||
{ text: 'isEqual', link: '/reference/predicate/isEqual' },
|
||||
{ text: 'isNil', link: '/reference/predicate/isNil' },
|
||||
{ text: 'isNotNil', link: '/reference/predicate/isNotNil' },
|
||||
{ text: 'isNull', link: '/reference/predicate/isNull' },
|
||||
{ text: 'isUndefined', link: '/reference/predicate/isUndefined' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Promise Utilities",
|
||||
items: [{ text: "delay", link: "/reference/promise/delay" }],
|
||||
text: 'Promise Utilities',
|
||||
items: [{ text: 'delay', link: '/reference/promise/delay' }],
|
||||
},
|
||||
{
|
||||
text: "String Utilities",
|
||||
text: 'String Utilities',
|
||||
items: [
|
||||
{ text: "snakeCase", link: "/reference/string/snakeCase" },
|
||||
{ text: "kebabCase", link: "/reference/string/kebabCase" },
|
||||
{ text: "lowerCase", link: "/reference/string/lowerCase" },
|
||||
{ text: "capitalize", link: "/reference/string/capitalize" },
|
||||
{ text: 'snakeCase', link: '/reference/string/snakeCase' },
|
||||
{ text: 'kebabCase', link: '/reference/string/kebabCase' },
|
||||
{ text: 'lowerCase', link: '/reference/string/lowerCase' },
|
||||
{ text: 'capitalize', link: '/reference/string/capitalize' },
|
||||
],
|
||||
},
|
||||
],
|
||||
|
@ -1,9 +1,8 @@
|
||||
import { type DefaultTheme, defineConfig } from "vitepress";
|
||||
import { type DefaultTheme, defineConfig } from 'vitepress';
|
||||
|
||||
export const ko = defineConfig({
|
||||
lang: "ko",
|
||||
description:
|
||||
"빠른 성능, 작은 번들 사이즈를 가지는 현대적인 JavaScript 유틸리티 라이브러리",
|
||||
lang: 'ko',
|
||||
description: '빠른 성능, 작은 번들 사이즈를 가지는 현대적인 JavaScript 유틸리티 라이브러리',
|
||||
|
||||
themeConfig: {
|
||||
nav: nav(),
|
||||
@ -11,12 +10,12 @@ export const ko = defineConfig({
|
||||
sidebar: sidebar(),
|
||||
|
||||
editLink: {
|
||||
pattern: "https://github.com/toss/es-toolkit/edit/main/docs/:path",
|
||||
text: "GitHub에서 수정하기",
|
||||
pattern: 'https://github.com/toss/es-toolkit/edit/main/docs/:path',
|
||||
text: 'GitHub에서 수정하기',
|
||||
},
|
||||
|
||||
footer: {
|
||||
message: "MIT 라이선스에 따라 배포됩니다.",
|
||||
message: 'MIT 라이선스에 따라 배포됩니다.',
|
||||
copyright: `Copyright © ${new Date().getFullYear()} Viva Republica, Inc.`,
|
||||
},
|
||||
},
|
||||
@ -24,156 +23,157 @@ export const ko = defineConfig({
|
||||
|
||||
function nav(): DefaultTheme.NavItem[] {
|
||||
return [
|
||||
{ text: "홈", link: "/ko" },
|
||||
{ text: "소개", link: "/ko/intro" },
|
||||
{ text: "레퍼런스", link: "/ko/reference/array/chunk" },
|
||||
{ text: '홈', link: '/ko' },
|
||||
{ text: '소개', link: '/ko/intro' },
|
||||
{ text: '레퍼런스', link: '/ko/reference/array/chunk' },
|
||||
];
|
||||
}
|
||||
|
||||
function sidebar(): DefaultTheme.Sidebar {
|
||||
return [
|
||||
{
|
||||
text: "가이드",
|
||||
text: '가이드',
|
||||
items: [
|
||||
{ text: "소개", link: "/ko/intro" },
|
||||
{ text: "설치", link: "/ko/installation" },
|
||||
{ text: "번들 사이즈", link: "/ko/bundle-size" },
|
||||
{ text: "성능", link: "/ko/performance" },
|
||||
{ text: "Lodash와 호환성", link: "/ko/compatibility" },
|
||||
{ text: '소개', link: '/ko/intro' },
|
||||
{ text: '설치', link: '/ko/installation' },
|
||||
{ text: '번들 사이즈', link: '/ko/bundle-size' },
|
||||
{ text: '성능', link: '/ko/performance' },
|
||||
{ text: 'Lodash와 호환성', link: '/ko/compatibility' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "레퍼런스",
|
||||
text: '레퍼런스',
|
||||
items: [
|
||||
{
|
||||
text: "배열",
|
||||
text: '배열',
|
||||
items: [
|
||||
{ text: "chunk", link: "/ko/reference/array/chunk" },
|
||||
{ text: "countBy", link: "/ko/reference/array/countBy" },
|
||||
{ text: "compact", link: "/ko/reference/array/compact" },
|
||||
{ text: "difference", link: "/ko/reference/array/difference" },
|
||||
{ text: "differenceBy", link: "/ko/reference/array/differenceBy" },
|
||||
{ text: 'chunk', link: '/ko/reference/array/chunk' },
|
||||
{ text: 'countBy', link: '/ko/reference/array/countBy' },
|
||||
{ text: 'compact', link: '/ko/reference/array/compact' },
|
||||
{ text: 'difference', link: '/ko/reference/array/difference' },
|
||||
{ text: 'differenceBy', link: '/ko/reference/array/differenceBy' },
|
||||
{
|
||||
text: "differenceWith",
|
||||
link: "/ko/reference/array/differenceWith",
|
||||
text: 'differenceWith',
|
||||
link: '/ko/reference/array/differenceWith',
|
||||
},
|
||||
{ text: "drop", link: "/ko/reference/array/drop" },
|
||||
{ text: "dropWhile", link: "/ko/reference/array/dropWhile" },
|
||||
{ text: "dropRight", link: "/ko/reference/array/dropRight" },
|
||||
{ text: 'drop', link: '/ko/reference/array/drop' },
|
||||
{ text: 'dropWhile', link: '/ko/reference/array/dropWhile' },
|
||||
{ text: 'dropRight', link: '/ko/reference/array/dropRight' },
|
||||
{
|
||||
text: "dropRightWhile",
|
||||
link: "/ko/reference/array/dropRightWhile",
|
||||
text: 'dropRightWhile',
|
||||
link: '/ko/reference/array/dropRightWhile',
|
||||
},
|
||||
{ text: "fill", link: "/ko/reference/array/fill" },
|
||||
{ text: "toFilled", link: "/ko/reference/array/toFilled" },
|
||||
{ text: "flatten", link: "/ko/reference/array/flatten" },
|
||||
{ text: "flattenDeep", link: "/ko/reference/array/flattenDeep" },
|
||||
{ text: "forEachRight", link: "/reference/array/forEachRight" },
|
||||
{ text: "groupBy", link: "/ko/reference/array/groupBy" },
|
||||
{ text: "intersection", link: "/ko/reference/array/intersection" },
|
||||
{ text: 'fill', link: '/ko/reference/array/fill' },
|
||||
{ text: 'toFilled', link: '/ko/reference/array/toFilled' },
|
||||
{ text: 'flatten', link: '/ko/reference/array/flatten' },
|
||||
{ text: 'flattenDeep', link: '/ko/reference/array/flattenDeep' },
|
||||
{ text: 'forEachRight', link: '/reference/array/forEachRight' },
|
||||
{ text: 'groupBy', link: '/ko/reference/array/groupBy' },
|
||||
{ text: 'intersection', link: '/ko/reference/array/intersection' },
|
||||
{
|
||||
text: "intersectionBy",
|
||||
link: "/ko/reference/array/intersectionBy",
|
||||
text: 'intersectionBy',
|
||||
link: '/ko/reference/array/intersectionBy',
|
||||
},
|
||||
{
|
||||
text: "intersectionWith",
|
||||
link: "/ko/reference/array/intersectionWith",
|
||||
text: 'intersectionWith',
|
||||
link: '/ko/reference/array/intersectionWith',
|
||||
},
|
||||
{ text: "keyBy", link: "/ko/reference/array/keyBy" },
|
||||
{ text: "minBy", link: "/ko/reference/array/minBy" },
|
||||
{ text: "maxBy", link: "/ko/reference/array/maxBy" },
|
||||
{ text: "orderBy", link: "/ko/reference/array/orderBy" },
|
||||
{ text: "partition", link: "/ko/reference/array/partition" },
|
||||
{ text: "sample", link: "/ko/reference/array/sample" },
|
||||
{ text: "sampleSize", link: "/ko/reference/array/sampleSize" },
|
||||
{ text: "shuffle", link: "/ko/reference/array/shuffle" },
|
||||
{ text: "take", link: "/ko/reference/array/take" },
|
||||
{ text: "takeWhile", link: "/ko/reference/array/takeWhile" },
|
||||
{ text: "takeRight", link: "/ko/reference/array/takeRight" },
|
||||
{ text: 'keyBy', link: '/ko/reference/array/keyBy' },
|
||||
{ text: 'minBy', link: '/ko/reference/array/minBy' },
|
||||
{ text: 'maxBy', link: '/ko/reference/array/maxBy' },
|
||||
{ text: 'orderBy', link: '/ko/reference/array/orderBy' },
|
||||
{ text: 'partition', link: '/ko/reference/array/partition' },
|
||||
{ text: 'sample', link: '/ko/reference/array/sample' },
|
||||
{ text: 'sampleSize', link: '/ko/reference/array/sampleSize' },
|
||||
{ text: 'shuffle', link: '/ko/reference/array/shuffle' },
|
||||
{ text: 'take', link: '/ko/reference/array/take' },
|
||||
{ text: 'takeWhile', link: '/ko/reference/array/takeWhile' },
|
||||
{ text: 'takeRight', link: '/ko/reference/array/takeRight' },
|
||||
{
|
||||
text: "takeRightWhile",
|
||||
link: "/ko/reference/array/takeRightWhile",
|
||||
text: 'takeRightWhile',
|
||||
link: '/ko/reference/array/takeRightWhile',
|
||||
},
|
||||
{ text: "union", link: "/ko/reference/array/union" },
|
||||
{ text: "unionBy", link: "/ko/reference/array/unionBy" },
|
||||
{ text: "unionWith", link: "/ko/reference/array/unionWith" },
|
||||
{ text: "unzip", link: "/ko/reference/array/unzip" },
|
||||
{ text: "unzipWith", link: "/ko/reference/array/unzipWith" },
|
||||
{ text: "uniq", link: "/ko/reference/array/uniq" },
|
||||
{ text: "uniqBy", link: "/ko/reference/array/uniqBy" },
|
||||
{ text: "uniqWith", link: "/ko/reference/array/uniqWith" },
|
||||
{ text: "without", link: "/ko/reference/array/without" },
|
||||
{ text: "xor", link: "/ko/reference/array/xor" },
|
||||
{ text: "xorBy", link: "/ko/reference/array/xorBy" },
|
||||
{ text: "xorWith", link: "/ko/reference/array/xorWith" },
|
||||
{ text: "zip", link: "/ko/reference/array/zip" },
|
||||
{ text: "zipObject", link: "/ko/reference/array/zipObject" },
|
||||
{ text: "zipWith", link: "/ko/reference/array/zipWith" },
|
||||
{ text: "head", link: "/ko/reference/array/head" },
|
||||
{ text: "tail", link: "/ko/reference/array/tail" },
|
||||
{ text: "last", link: "/ko/reference/array/last" },
|
||||
{ text: "initial", link: "/ko/reference/array/initial" },
|
||||
{ text: 'union', link: '/ko/reference/array/union' },
|
||||
{ text: 'unionBy', link: '/ko/reference/array/unionBy' },
|
||||
{ text: 'unionWith', link: '/ko/reference/array/unionWith' },
|
||||
{ text: 'unzip', link: '/ko/reference/array/unzip' },
|
||||
{ text: 'unzipWith', link: '/ko/reference/array/unzipWith' },
|
||||
{ text: 'uniq', link: '/ko/reference/array/uniq' },
|
||||
{ text: 'uniqBy', link: '/ko/reference/array/uniqBy' },
|
||||
{ text: 'uniqWith', link: '/ko/reference/array/uniqWith' },
|
||||
{ text: 'without', link: '/ko/reference/array/without' },
|
||||
{ text: 'xor', link: '/ko/reference/array/xor' },
|
||||
{ text: 'xorBy', link: '/ko/reference/array/xorBy' },
|
||||
{ text: 'xorWith', link: '/ko/reference/array/xorWith' },
|
||||
{ text: 'zip', link: '/ko/reference/array/zip' },
|
||||
{ text: 'zipObject', link: '/ko/reference/array/zipObject' },
|
||||
{ text: 'zipWith', link: '/ko/reference/array/zipWith' },
|
||||
{ text: 'head', link: '/ko/reference/array/head' },
|
||||
{ text: 'tail', link: '/ko/reference/array/tail' },
|
||||
{ text: 'last', link: '/ko/reference/array/last' },
|
||||
{ text: 'initial', link: '/ko/reference/array/initial' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "함수",
|
||||
text: '함수',
|
||||
items: [
|
||||
{ text: "debounce", link: "/ko/reference/function/debounce" },
|
||||
{ text: "throttle", link: "/ko/reference/function/throttle" },
|
||||
{ text: "negate", link: "/reference/function/negate" },
|
||||
{ text: "once", link: "/ko/reference/function/once" },
|
||||
{ text: "noop", link: "/ko/reference/function/noop" },
|
||||
{ text: 'debounce', link: '/ko/reference/function/debounce' },
|
||||
{ text: 'throttle', link: '/ko/reference/function/throttle' },
|
||||
{ text: 'negate', link: '/reference/function/negate' },
|
||||
{ text: 'once', link: '/ko/reference/function/once' },
|
||||
{ text: 'noop', link: '/ko/reference/function/noop' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "숫자",
|
||||
text: '숫자',
|
||||
items: [
|
||||
{ text: "clamp", link: "/ko/reference/math/clamp" },
|
||||
{ text: "inRange", link: "/ko/reference/math/inRange" },
|
||||
{ text: "mean", link: "/ko/reference/math/mean" },
|
||||
{ text: "meanBy", link: "/ko/reference/math/meanBy" },
|
||||
{ text: "random", link: "/ko/reference/math/random" },
|
||||
{ text: "randomInt", link: "/ko/reference/math/randomInt" },
|
||||
{ text: "round", link: "/ko/reference/math/round" },
|
||||
{ text: "range", link: "/ko/reference/math/range" },
|
||||
{ text: "sum", link: "/ko/reference/math/sum" },
|
||||
{ text: "sumBy", link: "/ko/reference/math/sumBy" },
|
||||
{ text: 'clamp', link: '/ko/reference/math/clamp' },
|
||||
{ text: 'inRange', link: '/ko/reference/math/inRange' },
|
||||
{ text: 'mean', link: '/ko/reference/math/mean' },
|
||||
{ text: 'meanBy', link: '/ko/reference/math/meanBy' },
|
||||
{ text: 'random', link: '/ko/reference/math/random' },
|
||||
{ text: 'randomInt', link: '/ko/reference/math/randomInt' },
|
||||
{ text: 'round', link: '/ko/reference/math/round' },
|
||||
{ text: 'range', link: '/ko/reference/math/range' },
|
||||
{ text: 'sum', link: '/ko/reference/math/sum' },
|
||||
{ text: 'sumBy', link: '/ko/reference/math/sumBy' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "객체",
|
||||
text: '객체',
|
||||
items: [
|
||||
{ text: "clone", link: "/ko/reference/object/clone" },
|
||||
{ text: "omit", link: "/ko/reference/object/omit" },
|
||||
{ text: "omitBy", link: "/ko/reference/object/omitBy" },
|
||||
{ text: "pick", link: "/ko/reference/object/pick" },
|
||||
{ text: "pickBy", link: "/ko/reference/object/pickBy" },
|
||||
{ text: "invert", link: "/ko/reference/object/invert" },
|
||||
{ text: 'clone', link: '/ko/reference/object/clone' },
|
||||
{ text: 'omit', link: '/ko/reference/object/omit' },
|
||||
{ text: 'omitBy', link: '/ko/reference/object/omitBy' },
|
||||
{ text: 'pick', link: '/ko/reference/object/pick' },
|
||||
{ text: 'pickBy', link: '/ko/reference/object/pickBy' },
|
||||
{ text: 'invert', link: '/ko/reference/object/invert' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "타입 가드",
|
||||
text: '타입 가드',
|
||||
items: [
|
||||
{ text: "isNil", link: "/ko/reference/predicate/isNil" },
|
||||
{ text: "isNotNil", link: "/ko/reference/predicate/isNotNil" },
|
||||
{ text: "isNull", link: "/ko/reference/predicate/isNull" },
|
||||
{ text: 'isEqual', link: '/ko/reference/predicate/isEqual' },
|
||||
{ text: 'isNil', link: '/ko/reference/predicate/isNil' },
|
||||
{ text: 'isNotNil', link: '/ko/reference/predicate/isNotNil' },
|
||||
{ text: 'isNull', link: '/ko/reference/predicate/isNull' },
|
||||
{
|
||||
text: "isUndefined",
|
||||
link: "/ko/reference/predicate/isUndefined",
|
||||
text: 'isUndefined',
|
||||
link: '/ko/reference/predicate/isUndefined',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "Promise",
|
||||
items: [{ text: "delay", link: "/ko/reference/promise/delay" }],
|
||||
text: 'Promise',
|
||||
items: [{ text: 'delay', link: '/ko/reference/promise/delay' }],
|
||||
},
|
||||
{
|
||||
text: "문자열",
|
||||
text: '문자열',
|
||||
items: [
|
||||
{ text: "snakeCase", link: "/ko/reference/string/snakeCase" },
|
||||
{ text: "kebabCase", link: "/ko/reference/string/kebabCase" },
|
||||
{ text: "lowerCase", link: "/ko/reference/string/lowerCase" },
|
||||
{ text: "capitalize", link: "/ko/reference/string/capitalize" },
|
||||
{ text: 'snakeCase', link: '/ko/reference/string/snakeCase' },
|
||||
{ text: 'kebabCase', link: '/ko/reference/string/kebabCase' },
|
||||
{ text: 'lowerCase', link: '/ko/reference/string/lowerCase' },
|
||||
{ text: 'capitalize', link: '/ko/reference/string/capitalize' },
|
||||
],
|
||||
},
|
||||
],
|
||||
@ -181,27 +181,27 @@ function sidebar(): DefaultTheme.Sidebar {
|
||||
];
|
||||
}
|
||||
|
||||
export const search: DefaultTheme.LocalSearchOptions["locales"] = {
|
||||
export const search: DefaultTheme.LocalSearchOptions['locales'] = {
|
||||
ko: {
|
||||
translations: {
|
||||
button: {
|
||||
buttonText: "검색",
|
||||
buttonAriaLabel: "검색",
|
||||
buttonText: '검색',
|
||||
buttonAriaLabel: '검색',
|
||||
},
|
||||
modal: {
|
||||
backButtonTitle: "뒤로가기",
|
||||
displayDetails: "더보기",
|
||||
backButtonTitle: '뒤로가기',
|
||||
displayDetails: '더보기',
|
||||
footer: {
|
||||
closeKeyAriaLabel: "닫기",
|
||||
closeText: "닫기",
|
||||
navigateDownKeyAriaLabel: "아래로",
|
||||
navigateText: "이동",
|
||||
navigateUpKeyAriaLabel: "위로",
|
||||
selectKeyAriaLabel: "선택",
|
||||
selectText: "선택",
|
||||
closeKeyAriaLabel: '닫기',
|
||||
closeText: '닫기',
|
||||
navigateDownKeyAriaLabel: '아래로',
|
||||
navigateText: '이동',
|
||||
navigateUpKeyAriaLabel: '위로',
|
||||
selectKeyAriaLabel: '선택',
|
||||
selectText: '선택',
|
||||
},
|
||||
noResultsText: "검색 결과를 찾지 못했어요.",
|
||||
resetButtonTitle: "모두 지우기",
|
||||
noResultsText: '검색 결과를 찾지 못했어요.',
|
||||
resetButtonTitle: '모두 지우기',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
89
docs/ko/reference/predicate/isEqual.md
Normal file
89
docs/ko/reference/predicate/isEqual.md
Normal file
@ -0,0 +1,89 @@
|
||||
# isEqual
|
||||
|
||||
`isEqual` 함수는 두 값이 동일한지 확인하며, `Date`, `RegExp`, 깊은 객체 비교도 지원해요.
|
||||
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
function isEqual(a: unknown, b: unknown): boolean;
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
- **`a`**: `unknown` - 비교할 첫 번째 값.
|
||||
- **`b`**: `unknown` - 비교할 두 번째 값.
|
||||
|
||||
## Returns
|
||||
|
||||
- **`boolean`** - 두 값이 동일하면 `true`, 그렇지 않으면 `false`를 반환해요.
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: 원시 타입 값 비교
|
||||
|
||||
```javascript
|
||||
isEqual(1, 1); // true
|
||||
isEqual('hello', 'hello'); // true
|
||||
isEqual(true, true); // true
|
||||
isEqual(1, 2); // false
|
||||
isEqual('hello', 'world'); // false
|
||||
isEqual(true, false); // false
|
||||
```
|
||||
|
||||
### Example 2: 특수 경우 비교
|
||||
|
||||
```javascript
|
||||
isEqual(NaN, NaN); // true
|
||||
isEqual(+0, -0); // false
|
||||
```
|
||||
|
||||
### Example 3: 날짜 객체 비교
|
||||
|
||||
```javascript
|
||||
const date1 = new Date('2020-01-01');
|
||||
const date2 = new Date('2020-01-01');
|
||||
isEqual(date1, date2); // true
|
||||
|
||||
const date3 = new Date('2021-01-01');
|
||||
isEqual(date1, date3); // false
|
||||
```
|
||||
|
||||
### Example 4: 정규 표현식 객체 비교
|
||||
|
||||
```javascript
|
||||
const regex1 = /hello/g;
|
||||
const regex2 = /hello/g;
|
||||
isEqual(regex1, regex2); // true
|
||||
|
||||
const regex3 = /hello/i;
|
||||
isEqual(regex1, regex3); // false
|
||||
```
|
||||
|
||||
### Example 5: 객체 비교
|
||||
|
||||
```javascript
|
||||
const obj1 = { a: 1, b: { c: 2 } };
|
||||
const obj2 = { a: 1, b: { c: 2 } };
|
||||
isEqual(obj1, obj2); // true
|
||||
|
||||
const obj3 = { a: 1, b: { c: 3 } };
|
||||
isEqual(obj1, obj3); // false
|
||||
|
||||
const obj4 = { a: 1, b: 2 };
|
||||
const obj5 = { a: 1, c: 2 };
|
||||
isEqual(obj4, obj5); // false
|
||||
```
|
||||
|
||||
### Example 6: 배열 비교
|
||||
|
||||
```javascript
|
||||
const arr1 = [1, 2, 3];
|
||||
const arr2 = [1, 2, 3];
|
||||
isEqual(arr1, arr2); // true
|
||||
|
||||
const arr3 = [1, 2, 4];
|
||||
isEqual(arr1, arr3); // false
|
||||
|
||||
const arr4 = [1, 2];
|
||||
isEqual(arr1, arr4); // false
|
||||
```
|
@ -3,19 +3,24 @@
|
||||
The `isEqual` function checks if two values are equal, including support for `Date`, `RegExp`, and deep object comparison.
|
||||
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
export function isEqual(a: unknown, b: unknown): boolean;
|
||||
function isEqual(a: unknown, b: unknown): boolean;
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
- **`a`**: `unknown` - The first value to compare.
|
||||
- **`b`**: `unknown` - The second value to compare.
|
||||
|
||||
## Returns
|
||||
|
||||
- **`boolean`** - Returns `true` if the values are equal, otherwise `false`.
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Comparing Primitive Values
|
||||
|
||||
```javascript
|
||||
isEqual(1, 1); // true
|
||||
isEqual('hello', 'hello'); // true
|
||||
@ -26,12 +31,14 @@ isEqual(true, false); // false
|
||||
```
|
||||
|
||||
### Example 2: Comparing Special Cases
|
||||
|
||||
```javascript
|
||||
isEqual(NaN, NaN); // true
|
||||
isEqual(+0, -0); // false
|
||||
```
|
||||
|
||||
### Example 3: Comparing Date Objects
|
||||
|
||||
```javascript
|
||||
const date1 = new Date('2020-01-01');
|
||||
const date2 = new Date('2020-01-01');
|
||||
@ -42,6 +49,7 @@ isEqual(date1, date3); // false
|
||||
```
|
||||
|
||||
### Example 4: Comparing RegExp Objects
|
||||
|
||||
```javascript
|
||||
const regex1 = /hello/g;
|
||||
const regex2 = /hello/g;
|
||||
@ -52,6 +60,7 @@ isEqual(regex1, regex3); // false
|
||||
```
|
||||
|
||||
### Example 5: Comparing Objects
|
||||
|
||||
```javascript
|
||||
const obj1 = { a: 1, b: { c: 2 } };
|
||||
const obj2 = { a: 1, b: { c: 2 } };
|
||||
@ -66,6 +75,7 @@ isEqual(obj4, obj5); // false
|
||||
```
|
||||
|
||||
### Example 6: Comparing Arrays
|
||||
|
||||
```javascript
|
||||
const arr1 = [1, 2, 3];
|
||||
const arr2 = [1, 2, 3];
|
||||
@ -76,4 +86,4 @@ isEqual(arr1, arr3); // false
|
||||
|
||||
const arr4 = [1, 2];
|
||||
isEqual(arr1, arr4); // false
|
||||
```
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user