2016-04-26 3 views

risposta

3

Questo è facilmente fatto con vanilla JS.

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

Lo stesso approccio è possibile con lodash's _.filter(), se è necessario utilizzare positivamente lodash.

versione

ES6 di quanto sopra:

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

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

Funziona, grazie. – qr11

1

Non è necessario lodash, basta usare javascript plain; è più facile da leggere ...

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

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

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

non propriamente corretto, restituisce un elenco di ID, il PO vuole gli elementi associati. – Tomalak