gpt4 book ai didi

javascript - 从 JSON 比较中排除丢失的键

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:34 25 4
gpt4 key购买 nike

我有两个 JSON 文档,我想在 Jest 单元测试中断言它们相等。它们应该是相等的,只是第二个多了一个键:_id。

示例:

doc1.json
{
username: 'someone',
firstName: 'some',
lastName: 'one',
}

doc2.json
{
_id: '901735013857',
username: 'someone',
firstName: 'some',
lastName: 'one',
}

我的代码目前如下所示:

const result = await activeDirectoryUserCollection
.findOne({username: testUser1.username});
expect(result).toBe(testUser1);

显然,这会产生它们不相等的错误,只是因为那个值。

我正在寻找 .toBe() 的替代方案,它不完全比较文档,但检查一个文档是否是另一个文档的子集。 (或类似的东西)。

或者,我希望有人能向我指出一个可以帮助我的模块。

最佳答案

我会检查 Lodash 模块的 .isMatch 函数。它在对象和源之间执行部分深度比较,以确定对象是否包含等效的属性值。 https://lodash.com/docs/4.17.11#isMatch

示例:

var object = { 'a': 1, 'b': 2 };

_.isMatch(object, { 'b': 2 });
// => true


_.isMatch(object, { 'b': 1 });
// => false

关于javascript - 从 JSON 比较中排除丢失的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com