大家好。
我有
Object A = {
"a" : "3.1.2",
"b" : "4.1.1",
"c" : "3.0.0",
"y" : "5.0.0"
}
Object B = {
"a" : "^3.1.2",
"t" : "^4.1.1",
"c" : "~2.2.2"
}
我如何检查对象B是否获得与对象A中相同的密钥?
If the key in Object A === key in Object B
,检查该键的值。
如果该键的值相同,则不执行任何操作。
如果来自Object A !=== value in Object B
的值,则在下一个示例["c@3.0.0"]
中将其推入数组
如果key in Object A
中不存在Object B
,请立即将对象A的键和值推到同一数组["c@3.0.0", "y@5.0.0"]
答案 0 :(得分:1)
您可以使用Object.entries()
,Array.reduce()
和String.replace()
来做到这一点。
迭代对象A的条目,对于每个条目,检查B中是否有条目。如果没有,则将值推入数组。如果存在条目且版本号相同,则什么都不做,否则也将其推入数组。
要比较版本号,可以在比较值之前使用正则表达式(newdf=df[df['b'].str.upper().str.contains('|'.join(search_list),na=False)]
)删除第一个/^\^|~/
或^
。
~