2016-04-26 15 views
1

Ich Iterieren Arrays innerhalb von Arrays, was ich habe. Einige innere Arrays haben kein bestimmtes Attribut, das "Validierungen" genannt wird, und einige tun es auch. Immer wenn meine Schleife auf ein Array ohne bestimmtes Attribut trifft, wird der Fehler "Keine Validierungen" ausgegeben und die Schleife wird beendet.Überspringen ohne Fehler, wenn ein Element in Javascript nicht existiert

Ich rufe diese Funktion:

$scope.groups[a].sections[0].fields[1]["validations"] 

Ich frage mich, ob ein Weg, es gibt aktuelle Array zu überspringen, wenn das Array Validierungen nicht haben.

Dank

+0

Verwenden [try catch] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/try...catch) –

Antwort

1

Wenn eine Eigenschaft nicht definiert, wertet es undefined wann gerichtet. Als boolescher Wert wird undefined zu false ausgewertet.

if ($scope.groups[a].sections[0].fields[1]["validations"]) { 
    ... 
} 
+0

Der Versuch, Codeblock Ergebnisse zu verwenden, in ein 'ReferenceError: $ scope ist nicht definiert' – wegry

+0

@wegry "Versuche meinen Code zu benutzen" wo? – Igor

+0

Ja, wie ignoriere ich den Fehler und fahre weiter in der Schleife? – Kahsn

Verwandte Themen