javascript - 如何在javascript对象中查找具有相同值的对象属性?

标签 javascript object for-loop

我想找到 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(因为 43 是真值),对于 "peaches" 则为 false(因为 0 是虚假值)。

关于javascript - 如何在javascript对象中查找具有相同值的对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46023718/

相关文章:

javascript - 在nodejs中开发报告引擎

javascript - "touch"一个 DOM 元素

javascript - ExtJS MVC 停止工作

batch-file - 在 for/f 批处理命令中使用空格

scala - 为什么scala中for循环的每次迭代参数是val而不是var

javascript - 在新页面上链接 href 和调用函数

java - Object 是抽象类的父类(super class)吗?

javascript - 从具有自定义键值的对象数组创建对象

Java Hibernate json无限递归与自引用类

javascript - 如何使用 javascript 正确迭代嵌套数组。