用法
从“@wordpress/is-shallow-equal”导入isShallowEqual; 是浅相等({a:1},{a:1,b:2}); //⇒错误 是浅相等({a:1},{a:1{); //⇒正确 是浅相等([1],[1],2]); //⇒错误 是浅相等([1],[1]); //⇒正确
从“@wordpress/is-shallow equal”导入{isShallowEqualArrays}; 从“@wordpress/is-shallow equal”导入{isShallowEqualObjects};
从“@wordpress/is-shallow-equal”导入isShallowEqual; 从'fast-dep-equal/es6'导入fastDeepEqual;// 深度比较 让对象={a:1}; 是浅相等([{a:1}],[{a=1}]); //⇒错误 快速深度相等([{a:1}],[{a:1}]); //⇒正确 isShallowEqual([对象],[对象]); //⇒正确
理论基础
……将非本原但参照平等的成员价值观视为平等。 消除 是等深线 作为选项。
…提供一个单独的函数,通过该函数进行接口,而不考虑值类型。 消除 浅等的 作为选项。
…成为赤骨; 只提供了浅相等的基本功能。 消除 浅等号 作为选项。
……预测并优化参考相同性。 …用于非Facebook项目。 消除 fbjs/lib/shallow相等 作为选项。
…是性能最好的实现。 请参见 基准 .
基准
@wordpress/is-shallow-equal(特定类型)(对象,相等)x 4519009操作/秒±1.09%(采样90次) >
@wordpress/is-shallow-equal(特定类型)(对象,相同)x 795527700操作/秒±0.24%(93次采样) >
@wordpress/is-shallow-equal(特定类型)(对象,不相等)x 4841640操作/秒±0.94%(93次采样) >
@wordpress/is-shallow-equal(特定类型)(数组,相等)x 106393795操作/秒±0.16%(94次采样) >
@wordpress/is-shallow-equal(特定类型)(数组,相同)x 800741511操作/秒±0.22%(采样95次) >
@wordpress/is-shallow-equal(特定类型)(数组,不相等)x 49178977 ops/sec±1.99%(82次采样)
@wordpress/is-shallow-equal(对象,相等)x 4449367操作/秒±0.31%(91次采样) >
@wordpress/is-shallow-equal(对象,相同)x 796677179操作/秒±0.23%(94次采样) >
@wordpress/is-shallow-equal(对象,不相等)x 4989529操作/秒±0.30%(91次采样) >
@wordpress/is-shallow-equal(数组,相等)x 44840546 ops/sec±1.18%(采样89次) >
@wordpress/is-shallow-equal(数组,相同)x 794344723次操作/秒±0.24%(91次采样) >
@wordpress/is-shallow-equal(数组,不相等)x 49860115操作/秒±1.73%(采样85次)
浅相等(对象,相等)x 3702126操作/秒±0.87%(92次采样) >
浅相等(对象,相同)x 796649597操作/秒±0.21%(92次采样) >
浅相等(对象,不相等)x 4027885操作/秒±0.31%(96次采样) >
浅相等(阵列,相等)x 1684977操作/秒±0.37%(94次采样) >
浅相等(阵列,相同)x 794287091操作/秒±0.26%(91次采样) >
浅相等(阵列,不相等)x 1738554操作/秒±0.29%(91次采样)
浅相等(特定类型)(对象,相等)x 4669656操作/秒±0.34%(采样92次) >
浅相等(特定类型)(对象,相同)x 799610214操作/秒±0.20%(采样95次) >
浅相等(特定类型)(对象,不相等)x 4908591操作/秒±0.49%(93次采样) >
浅相等(特定类型)(阵列,相等)x 104711254操作/秒±0.65%(91次采样) >
浅相等(特定类型)(阵列,相同)x 798454281操作/秒±0.29%(94次采样) >
浅相等(特定类型)(阵列,不相等)x 48764338操作/秒±1.48%(采样84次)
is-equal-shallow(对象,相等)x 5068750操作/秒±0.28%(92次采样) >
is-equal-shallow(对象,相同)x 17231997 ops/sec±0.42%(92次采样) >
is-equal-shallow(对象,不相等)x 5524878 ops/sec±0.41%(92次采样) >
is-equal-shallow(阵列,相等)x 1067063 ops/sec±0.40%(92次采样) >
is-equal-shallow(阵列,相同)x 1074356 ops/sec±0.20%(94次采样) >
is-equal-shallow(阵列,不相等)x 1758859 ops/sec±0.44%(92次采样)
浅相等(对象,相等)x 8380550操作/秒±0.31%(采样90次) >
浅相等(对象,相同)x 27583073操作/秒±0.60%(91次采样) >
浅相等(对象,不相等)x 8954268操作/秒±0.71%(92次采样) >
浅相等(阵列,相等)x 104437640操作/秒±0.22%(采样96次) >
浅相等(阵列,相同)x 141850542操作/秒±0.25%(93次采样) >
浅相等(阵列,不等)x 47964211操作/秒±1.51%(采样84次)
fbjs/lib/shallowEqual(对象,相等)x 3366709操作/秒±0.35%(采样93次) >
fbjs/lib/shallowEqual(对象,相同)x 794825194 ops/sec±0.24%(94次采样) >
fbjs/lib/shallowEqual(对象,不相等)x 3612268 ops/sec±0.37%(94次采样) >
fbjs/lib/shallowEqual(数组,相等)x 1613800 ops/sec±0.23%(采样90次) >
fbjs/lib/shallowEqual(数组,相同)x 794861384 ops/sec±0.24%(93次采样) >
fbjs/lib/shallowEqual(数组,不相等)x 1648398 ops/sec±0.77%(92次采样)
git克隆 https://github.com/WordPress/gutenberg.git npm安装 npm运行构建:包 节点/ 软件包/is-shallow-equal/benchmark