【问题标题】:Compare 2 Object Arrays, Javascript比较 2 个对象数组,Javascript
【发布时间】:2013-12-03 12:02:33
【问题描述】:

数组 1: [ user:{id:1,votes:9}, user:{id:2,votes:3} ]

数组 2: [ user:{id:1,votes:10}, user:{id:2,votes:5}, user:{id:3,votes:1} ]

使用 Node.js,根据自己的 id 隔离唯一用户的最有效方法是什么?

使用 For 循环和 ForEach 循环,我想不通。下划线是一个选项,但我仍然无法弄清楚函数过程。非常感谢。

(我无法控制数据传给我的方式,遗憾的是修改数组或对象不是一个选项)

【问题讨论】:

  • 这两个语句/数组在 JavaScript 中都是无效的。
  • 什么是“高效”?处理能力最低?最快的执行?最少的代码?最容易维护?
  • @RobG 最少的代码,最容易维护。我接受了下面的答案。我忘了考虑.map。 @undefined 那是我正在使用的 API 传递给我的数据。我创建自己的用户对象,并使用在某些事件中传递的数据来维护它们。

标签: javascript arrays node.js


【解决方案1】:

试试这个:

var ids = array1.map(function(u){ return u.id });

var unique = array2.filter(function(u) {
  return ids.indexOf(u.id) < 0;
});

【讨论】:

  • 很高兴它有帮助。不过,这可能不是最“高效”的性能。
猜你喜欢
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多