給定兩個對象數組,我如何找到包含'重疊'值的所有對象(例如本例中的價格)?如何從JavaScript中的對象數組中找到'重疊'值?
例如,給定數組A和數組B,我如何找到所有「價格」是完全匹配(例如20,30)還是包含在此重疊內(例如20.45)的對象?
var A = [
{ "id" : 1, "price" : 50, "quantity": 2 },
{ "id" : 2, "price" : 40, "quantity": 2 },
{ "id" : 3, "price" : 30, "quantity": 2 }, // yes
{ "id" : 4, "price" : 20, "quantity": 2 } // yes
];
var B = [
{ "id" : 5, "price" : 30, "quantity": 2 }, // yes
{ "id" : 6, "price" : 20.45, "quantity": 2 }, // yes
{ "id" : 7, "price" : 20, "quantity": 2 }, // yes
{ "id" : 8, "price" : 10, "quantity": 2 },
{ "id" : 9, "price" : 5, "quantity": 2 }
];
// Goal
var C = [
{ "id" : 3, "price" : 30, "quantity": 2 }, // yes
{ "id" : 4, "price" : 20, "quantity": 2 } // yes
];
var D = [
{ "id" : 5, "price" : 30, "quantity": 2 }, // yes
{ "id" : 6, "price" : 20.45, "quantity": 2 }, // yes
{ "id" : 7, "price" : 20, "quantity": 2 }, // yes
];
我的目標是讓他們分離到自己的數組(C & d)。但如果最終結果需要是一個組合數組,那沒關係。我也可以做這個工作。任何有用的東西現在都會讓我開心。
我試過了下劃線的十字路口。如果A & B是包含整數而不是對象的簡單數組,則交集可以找到完全匹配(例如,但它仍然不包括20.45,我也需要這樣做)。當然,我有一組對象而不是簡單的數組,這也使得它更難一些。
簡單的循環可以做到這一點... – monkeyinsight