【发布时间】:2021-09-05 10:02:37
【问题描述】:
我返回了一个我事先不知道其结构的对象。我唯一知道的是对象中应该包含哪些值。我的目标不是检查返回的对象是否与另一个对象特别匹配,而是检查返回的对象中是否存在特定的嵌套键值对。
以下是我期望返回的随机对象以及我想要检查的值。是否已经编写了执行此类检查的任何内容?抱歉缺少代码,但我不确定从哪里开始。我考虑过将对象展平并进行检查,但由于数组长度未知,这个想法没有成功。
// ob1 is the random object being returned. This will not be the same every time.
ob1 = {
key_a: "val_a1",
key_b: [
"val_b1",
"val_b2",
"val_b3"
]
}
ob2a = {
key_b: [
"val_b2"
]
}
ob2b = {
key_a: "val_a1",
key_b: [
"val_b3"
]
}
ob2c = {
key_b: [
"val_b2"
"val_b3"
]
}
ob2d = {
key_b: [
"val_b1",
"val_doesnt exist"
]
}
ob2e = {
key_b: "val_b1"
}
checkExists(ob1,ob2a) // true
checkExists(ob1,ob2b) // true
checkExists(ob1,ob2c) // true
checkExists(ob1,ob2d) // false
checkExists(ob1,ob2e) // false
【问题讨论】:
-
使用
Object.entries.every()遍历测试对象中的条目。对于它们中的每一个,检查属性是否存在于第一个对象中,如果存在,值是否匹配。
标签: javascript node.js javascript-objects