Javascript 比较两个数组并返回唯一值

Javascript 比较两个数组并返回唯一值,javascript,arrays,underscore.js,Javascript,Arrays,Underscore.js,我有以下两个阵列: array1 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'c'}]; array2 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'d'}]; 我正在寻找一种从数组1中分割数组2并返回“F”值的方法 有谁知道用JavaScript快速实现这一点的方法吗?我完全被难住了 我尝试了下划线中的“差异”和“唯一”,但这似乎不是正确的解决方案 var diffArr

我有以下两个阵列:

array1 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'c'}]; 
array2 = [{'itemCode':'a'}, {'itemCode':'b'}, {'itemCode':'d'}]; 
我正在寻找一种从数组1中分割数组2并返回“F”值的方法

有谁知道用JavaScript快速实现这一点的方法吗?我完全被难住了

我尝试了下划线中的“差异”和“唯一”,但这似乎不是正确的解决方案

var diffArray = _.difference(array1, array2);
任何帮助都将不胜感激

我想这会回答你的问题

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]);
  }
}
var unique=[];
对于(变量i=0;i
我在数组中看不到“F值”。我认为当元素是这样的对象时,
indexOf()
不起作用。它不会递归地比较对象。是的,你是对的,我忽略了数据类型。但这在某种程度上证明了它是如何做到的。我不熟悉javascriptIt,它没有真正演示它是如何完成的,因为当
indexOf()
无法匹配它们时,您必须执行完全不同的操作。