2016-03-29 16 views
0

Ich habe eine CSV-Datei, die ich bereits durch Zeilenumbrüche aufgeteilt habe und ich habe es noch mehr durch die Kommas in den Zeilenumbrüchen gebrochen, um mir drei Dinge zu geben, die ich bin Suche und benannte sie für den späteren Gebrauch im Programm. Ich möchte ein Objekt entfernen, wenn eines der Objekte mit einem bestimmten Wert übereinstimmt.Entfernen Sie ein Objekt aus einem Array unter einer Bedingung

Dies wird später verwendet, damit ich eine Liste mit den Werten erhalten kann, die ich suche.

for (i=0; i < values.length; i++){ 
    output += values[i].Name + ','; 
    output += values[i].Rev + ','; 
    output += values[i].URL+ ','; 
    output += "\n\n||||||"; 
} 

Also, was ich diesen Code auf die for-Schleife ersten modifizierten tat, war:

if (values[i].Rev == "NO ACCESS") { 
    csv_split[i].splice(0,1); 
} 

Die Idee dahinter das war, wenn die values.Rev auf „NO ACCESS“ abgestimmt würde es die Gesamtheit entfernen csv_split [i], damit es später in der Ausgabe nicht angezeigt wird.

Das Ausführen des Skripts gibt jetzt die gesamte Ausgabe von unabhängig, wenn values.Rev "NO ACCESS" entspricht oder nicht. Was vermisse ich damit?

+0

Sie wollen die gesamte CSV-Zeile entfernen, wenn die Bedingung nicht erfüllt ist? –

+0

Ich möchte die gesamte Zeile von csv_split entfernen, wenn die Bedingung erfüllt ist. Wenn zum Beispiel in csv_split [1] der Wert von Werten [1] .Rev gleich "NO ACCESS" ist, möchte ich alle Werte aus csv_split [1] entfernen, so dass später, wenn es in der zweiten Code-Box erzogen wird wird keine der Zeilen zeigen, wo values.Rev = "NO ACCESS" –

Antwort

2

Sie könnten dies viel einfacher mit der filter Methode tun. Sie verwenden es wie folgt:

var finalArr = values.filter(function(val) { return val.Rev != "NO ACCESS"; }); 

Dies sollte Ihnen eine Reihe von allem, was Zugriff hat.

+0

Ich arbeite mit einer Software von Drittanbietern, die ein Javascript verwendet, aber es scheint, dass bestimmte Funktionen nicht aktiviert sind, einschließlich der Filterfunktion. Ich kann die Filterfunktion manuell erstellen, aber ich kann nicht finden, wo der Quellcode für die Filterfunktion ist. Gibt es eine Online-Ressource, um den Quellcode für Funktionen bereits in Javascript zu finden? –

+0

Ich kenne keine, aber Sie können versuchen zu googeln. https://www.javascript.com/ ist wahrscheinlich ein guter Anfang. Was benutzt du, um eingebaute Funktionen zu deaktivieren? – senschen

+1

[Ihr Browser muss mindestens so groß sein] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#AutoCompatibilityTable) – James

Verwandte Themen