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