我想找到 javascript 对象中相同的值(也许稍后还会添加 min 、 max 统计数据) 我一开始就陷入困境,因为我的代码返回了一些意外的输出 (PS我不是在寻找共同的属性,而是寻找具有相同值的共同属性)
var obj1 = { "oranges": 5, "apples": 3, "peaches": 1 };
var obj2 = { "oranges": 4, "apples": 3, "peaches": 0 };
var obj3 = { "oranges": 5, "apples": 3, "peaches": 5 };
var obj_common = {};
for (var property in obj1) {
if (obj1[property] = obj2[property])
obj_common[property] = obj1[property];
}
console.log(obj_common);
最佳答案
使用==
或===
进行比较。
解释您的代码的作用:
(obj1[property] = obj2[property])
行将 obj2[property]
的值分配给 obj1[property]
。由于 javascript 中的赋值表达式返回指定的值,因此对于 "oranges"
和 "apples"
,该表达式的计算结果为 true
(因为 4
和 3
是真值),对于 "peaches"
则为 false
(因为 0
是虚假值)。
关于javascript - 如何在javascript对象中查找具有相同值的对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46023718/