Skip to content

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