2017-05-04 3 views
1
var allowedIds = [1000, 1001, 1002, 1003, 1004]; 
var idsToCheck = [1000, 1001, 1005, 1006]; 

Ich suche einen Weg finden 1005 & 1006 von arrayToCheck zu entfernen, da diese IDs nicht in dem allowedIds Array sindvon Array entfernen, wenn nicht in einem anderen Array

jede mögliche Hilfe würde geschätzt.

danke!

+0

ein Array tun '.filter' auf idstocheck .. Sie können die Werte herauszufiltern, die nicht in allowedIds ist durch die' .indexOf' mit . – Jalil

Antwort

3

Sie können über idsToCheck mit Array.prototype.filter() iterieren, um alle IDs herauszufiltern, die nicht in allowedIds sind. Zum Beispiel:

const checkedIds = idsToCheck.filter(id => allowedIds.includes(id)); 

Hinweis: Die Verwendung ES6 Features: arrow functions und Array.prototype.includes(). Um es in älteren Browsern zu verwenden, überprüfen Sie die Kompatibilität. Hier

ist eine alternative Implementierung mit besserer Browser Kompatibilität:

var checkedIds = idsToCheck.filter(function(id) { 
    return allowedIds.indexOf(id) > -1; 
}); 
+0

Perfekt! Beide sind sehr hilfreich. Vielen Dank! –

Verwandte Themen