Microdiff是一个小型(目前<1kb)、快速、零依赖对象和数组比较库。它比大多数其他深度比较库要快得多,并且具有完整的TypeScript支持。
特征速度是其他对象差异库的两倍多极轻,<1kb 支持Deo、Node、Web甚至ServiceWorker,带有内置的Typescript类型容易使用,只有一个diff()功能完全支持ewDate()和 ewRegExp()这样的对象开始先安装Microdiff
pmimicrodiff如果你用的是Deo,可以从 https://deo.lad/x/microdiff@VERSION/idex.ts 导入,记得将 @VERSION 改成你想要的版本。
安装完之后,只需导入 Microdiff,并在两个对象上运行它。
importdifffrom"microdiff";costobj1={origialProperty:true,};costobj2={origialProperty:true,ewProperty:"ew",};cosole.log(diff(obj1,obj2));//[{type:"CREATE",path:["ewProperty"],value:"ew"}]如果你在使用CommoJS,可以像这样导入:
costdiff=require("microdiff").default;有三种不同类型的更改:CREATE、REMOVE、和CHANGE,path属性给出了新对象(在 REMOVE情况下为旧对象)中的属性路径。数组中的每个元素都是下一层属性的键,直到属性被更改为止。value属性存在于CREATE和CHANGE类型中,包含添加/更改属性的值。
评论