gpt4 book ai didi

javascript - 比较两个对象,如果对象键值对的一部分存在,则返回 true

转载 作者:行者123 更新时间:2023-11-30 13:46:35 25 4
gpt4 key购买 nike

我需要比较两个对象并根据以下逻辑返回 true 或 false。

const expectedValue = {
city: "San Jose",
state: "california",
zip: "95234"
}

const actualValue = {
address: "5543322 Adam St",
city: "San Jose",
state: "california",
zip: "95234",
country: "USA"
}

比较上述对象时,应返回“TRUE”,因为actualValue中存在expectedValue的键值对。我在 lodash 文档中找不到任何内容,对此有什么好的解决方案吗?

提前致谢!

最佳答案

您可以使用 every()Object.entries() 生成的阵列上测试预期中的每个键/值对是否与实际匹配:

const expectedValue = {
city: "San Jose",
state: "california",
zip: "95234"
}

const actualObject = {
address: "5543322 Adam St",
city: "San Jose",
state: "california",
zip: "95234",
country: "USA"
}


let test = Object.entries(expectedValue)
.every(([key, value]) => actualObject[key] === value )

console.log(test)

如果 expectedValue 中的每个键/对都存在于 actualObject 中并且与值匹配,则返回 true,否则返回 false。

存在一种极端情况,即 expectedValue 中存在值为 undefined 的属性。如果需要,您可以通过测试 actualObject.hasOwnProperty(key) && actualObject[key] === value 来处理此问题。

关于javascript - 比较两个对象,如果对象键值对的一部分存在,则返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205279/

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