对比javascript数据的库

目前有如下需求

{
    a: '123',
    b: '456',
    c: ['789', 'abc', 'www']
}

当a相等的时候,我们认为这个数据结构只是发生了修改,当a不想等,我理解这是完全不一样的两项,认为这是新增或者删除.

当数据变为如下

{
    a: '123',
    b: '456',
    c: ['789', 'efg', 'www']
}

则输出c的第二项发生修改。有这种javascript的对比库吗

阅读 3.3k
2 个回答

Lodash 有一些工具,但是没有直接实现你所需要的东西,可能你需要自己写个递归来处理一下,

比较(speicalCompare)基本处理过程:

  • 简单类型,直接比较值
  • 对象类型,遍历属性,对属性名相同的进行递归比较(specialCompare),不同名属性直接报告出来
  • 数据类型,遍历成员,挨个进行递归比较(specialCompare),超出长度的部分直接报告

好像没有,自己写一个吧,递归遍历一下,很简单。

推荐问题