2015-05-08 62 views
0

我有以下两个数组:比较两个数组并返回独特价值

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); 

任何帮助将不胜感激!

+3

我没有看到你的阵列“F值”。 –

+0

http://stackoverflow.com/questions/13147278/using-underscores-difference-method-on-objects – mrak

+0

F值?哪里? –

回答

0

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]); 
    } 
} 
+0

我不认为当元素是像这样的对象时,indexOf()将会起作用。它不递归地比较对象。 – Barmar

+0

是的你是对的,我忽略了数据类型。但它表明了它是如何完成的。我不熟悉javascript – ADB

+0

它并没有真正地说明它是如何完成的,因为当indexOf()不能匹配它们时,你必须做一些完全不同的事情。 – Barmar

相关问题