【问题标题】:Compare two arrays and return unique values [duplicate]比较两个数组并返回唯一值
【发布时间】:2015-07-19 21:25:57
【问题描述】:

我有以下两个数组:

array1 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'c'}]; 
array2 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'d'}]; 

我正在寻找一种从数组 1 中切片数组 2 并返回“F”值的方法。

有没有人知道在 JavaScript 中快速执行此操作的方法,我完全被难住了。

我尝试了下划线的 _difference 和 _unique,但这似乎不是正确的解决方案。

var diffArray = _.difference(array1, array2);

任何帮助将不胜感激!

【问题讨论】:

标签: javascript arrays underscore.js


【解决方案1】:

Get the unique values from two arrays and put them in another array - Jquery 我想这会回答你的问题

var unique = [];
for(var i = 0; i < array1.length; i++){
    var found = false;
    for(var j = 0; array2.length; j++){
     if(array1[i].itemCode == array2[j].itemCode){
      found = true;
      break; 
    }
   }
   if(found == false){
   unique.push(array1[i]);
  }
}

【讨论】:

  • 当元素是这样的对象时,我认为indexOf() 不会起作用。它不会递归地比较对象。
  • 是的,你是对的,我忽略了数据类型。但它有点展示了它是如何完成的。我不熟悉javascript
  • 它并没有真正展示它是如何完成的,因为当indexOf()无法匹配它们时,你必须做一些完全不同的事情。
猜你喜欢
  • 2014-12-08
  • 2016-06-25
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 2021-10-18
相关资源
最近更新 更多