给大家介绍一个数据对比库

12 阅读1分钟

@chendf/data-compare

data-compare是一个对比数据之间差异的一个轻量级库,类似于简化版本的 git 对比。

文档地址

功能介绍

通过diff算法对比出两个版本数据或三个版本数据之间的属性差异与状态。(新增/删除/修改/交换位置/冲突)。 通过diff算法对比出两个数据之间的属性差异。是否有属性删除/新增/修改之类的。 可以手动转换为对比节点(compareTree)也可以通过parse方法自动转换,自动转换可以手动配置转换结构。

简单使用介绍

// 介绍使用
import { diffAttr } from '@chendf/data-compare'
const data1 = {
    id: 1,
    name: 2,
    p: [2]
}

const data2 = {
    id: 1,
    name: 3,
    p: [1]
}
diffAttr(data1, data2)
// result
{
    "type": "update",
    "path": "",
    "attrStatus": {
        "name": {
            "type": "update",
            "path": "name",
            "oldValue": 3
        },
        "p": {
            "type": "none",
            "path": "p",
            "oldValue": [
                1
            ],
            "attrStatus": {
                "0": {
                    "type": "update"
                }
            }
        }
    }
}

更多功能可以查看文档,这是我写的第一个库,请大佬们指点~