2016-04-26 12 views

Odpowiedz

3

Można to łatwo zrobić za pomocą JS z wanilii.

var nonMatchingItems = response.filter(function (item) { 
    return arrayOfIDs.indexOf(item.id) === -1; 
}); 

To samo podejście jest możliwe lodash's _.filter(), jeśli pozytywnie musi używać lodash.

ES6 wersja powyższego:

var nonMatchingItems = response.filter(item => arrayOfIDs.indexOf(item.id) === -1); 

// or, shorter 
var nonMatchingItems = response.filter(item => !arrayOfIDs.includes(item.id)); 
+0

Działa, dzięki. – qr11

1

Nie potrzebujesz lodash, wystarczy użyć zwykłego javascript; łatwiej jest czytać ...

function getId (val) { 
    return val.id; 
} 

function notMatchId (val) { 
    return arrayOfIDs.indexOf(val) === -1; 
} 

var result = response.map(getId).filter(notMatchId); 
+0

nie do końca poprawne, to zwraca listę identyfikatorów, PO chce przynależne elementy. – Tomalak

Powiązane problemy