objectDiff.js, 比较JavaScript对象

分享于 

2分钟阅读

GitHub

  繁體 雙語
Compares JavaScript objects
  • 源代码名称:objectDiff.js
  • 源代码网址:http://www.github.com/NV/objectDiff.js
  • objectDiff.js源代码文档
  • objectDiff.js源代码下载
  • Git URL:
    git://www.github.com/NV/objectDiff.js.git
    Git Clone代码到本地:
    git clone http://www.github.com/NV/objectDiff.js
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/NV/objectDiff.js
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    objectDiff

    在 npm 上的 objectdiff

    objectDiff.diff(objectA, objectB )

    objectDiff.diff({x: 1}, {x: 2})
    -> {
     changed:"object change",
     value: {
     x: {
     changed:"primitive change",
     removed: 1,
     added: 2
     }
     }
    }
    objectDiff.diff({z: {x: 1}}, {z: {y: 2}})
    -> {
     changed:"object change",
     value: {
     z: {
     changed:"object change",
     value: {
     x: {
     changed:"removed",
     value: 1
     },
     y: {
     changed:"added",
     value: 2
     }
     }
     }
     }
    }

    objectDiff.diffOwnProperties(objectA, objectB )

    objectDiff.diff, 相同但仅比较对象自身的属性

    function A(){}
    A.prototype.x = 1
    objectDiff.diff({x: 1}, new A)
    -> {changed:"equal", value: {x: 1}}
    objectDiff.diffOwnProperties({x: 1}, new A)
    -> {changed:"object change", value: {x: {changed:"removed", value: 1}}}

    objectDiff.convertToXMLString(diffObject )

    上使用演示页。

    jasmine-集成

    objectDiff为 jasmine 提供 toEqualPropertiestoEqualOwnProperties 匹配器。 请参见示例规范。


    相关文章