在什么情况下,应该.deep.equal失败,但使用JSON.stringify进行比较工作正常

What are the cases when should.deep.equal fails but comparison using JSON.stringify works fine?

本文关键字:比较 stringify 工作 JSON deep 应该 情况下 equal 失败 在什么      更新时间:2023-09-26

函数返回一个对象数组。当我使用JSON.stringify将实际结果与预期结果进行比较时,值是相同的。但是,使用 should.deep.equal_.isEqual 进行比较会失败。有人遇到过这样的问题吗?

我已经意识到问题是什么。这是由于JSON.stringify错过了具有undefined值的字段。例如,将JSON.stringify应用于以下对象的结果{field: 'value', undefinedField: undefined} {"field": "value"}。因此

JSON.stringify({field: 'value', undefinedField: undefined}) === JSON.stringify({field: 'value'})`

{field: 'value', undefinedField: undefined}.should.deep.equal({field: 'value'})

失败