isEqual
是否相等。
基本用法
传入两个数据,使用SameValueZero进行比较,如果相等返回true,否则返回false。
注意:Symbol尽量使用字符串作为key,此方法比较会通过
toString获取Symbol([key])字符串中的[key],如果key相等,则Symbol就相等
ts
import { isEqual } from '@renzp/utils';
isEqual(0, 0); // true
isEqual({ a: 1 }, { a: 1 }); // true
isEqual([1, 2, 3, '4'], [1, 2, 3, 4]); // false
isEqual(
{
a: 1,
b: 2,
},
{
a: 1,
b: 2,
c: 3,
},
['a', 'b'],
); // true参数
| 参数 | 说明 | 类型 | 默认值 | 是否必填 |
|---|---|---|---|---|
| target | 目标数据 | T | Array<T> | Map<string, T> | Set<T> | - | 是 |
| value | 比较数据 | U | Array<U> | Map<string, U> | Set<U> | - | 是 |
| filter | 匹配规则 | IsEqualFilter<T, U> | - | 否 |
ts
export type IsEqualFilter<T, U> =
| keyof T
| keyof U
| Array<keyof T>
| Array<keyof U>
| ((target: any, v: any) => boolean)返回
| 参数 | 说明 | 类型 |
|---|---|---|
| v | 是否相等 | boolean |
