2013-09-25 14 views
5

Ho due arrayRimuovere contenuto di un array da un altro array

var array1 = new Array ["a", "b", "c", "d", "e"]; 
var array2 = new Array ["a", "c", "d"]; 

Voglio rimuovere elementi di array2 da array1

Risultato ["b", "e"]

C'è qualcosa di simile

array1 = array1.remove(array2) 

Nota Sto usando jquery-1.9.1

+0

possibile duplicato del [JavaScript differenza Array] (http://stackoverflow.com/questions/1187518/javascript-array-difference) – Itay

risposta

8

Prova:

var diff = $(array1).not(array2).get(); 
+0

Quando prova questa uscita è '[1, 2, 6, diff: function]' Come rimuovere quella 'diff: function' da quella? – Okky

+2

Sembra ok su fiddle, http://jsfiddle.net/nKNdA/, prova qui i tuoi dati e aggiorna, invia il link per favore. – Kamil

2
function difference(source, toRemove) { 
    return source.filter(function(value){ 
     return toRemove.indexOf(value) == -1; 
    }); 
} 

NOTA: Array.prototype.indexOf e Array.prototype.filter non sono disponibili prima IE9!

1

sottolineatura JS è quello che serve. Questa libreria ha molte utili funzioni di manipolazione degli array. Underscore JS

0

biblioteca Underscore.js aiuta: La sua è quello che ti serve

_.difference(array1, array2); 
Problemi correlati