MicroDiff 微型对象/数组比较库开源项目

我要开发同款
匿名用户2021年11月09日
103阅读
开发技术JavaScriptTypeScript
所属分类常用工具包、程序开发
授权协议MIT

作品详情

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类型中,包含添加/更改属性的值。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论