Wie prüfe ich in JavaScript, ob ein Wert an einem bestimmten Array-Index existiert?
Funktioniert dies für die Prüfung, ob ein Wert an Position "index" vorhanden ist oder nicht, oder gibt es einen besseren Weg:
if(arrayName[index]==""){
// do stuff
}
513
3
Alle Arrays in JavaScript enthalten
array.length
Elemente, beginnend mitarray[0]
bis zuarray[array.length - 1]
. Per Definition ist ein Array-Element mit dem Indexi
Teil des Arrays, wenni
zwischen0
undarray.length - 1
liegt.Das heißt, JavaScript-Arrays sind linear und beginnen bei Null und gehen bis zu einem Maximum, und Arrays haben keinen Mechanismus, um bestimmte Werte oder Bereiche aus dem Array auszuschließen. Um herauszufinden, ob ein Wert an einem bestimmten Positionsindex existiert (wobei index 0 oder eine positive ganze Zahl ist), verwenden Sie buchstäblich nur
Es ist jedoch möglich, dass einige Array-Werte Null,
Undefiniert
,NaN
,Unendlich
, 0 oder eine ganze Reihe anderer Werte sind. Wenn Sie zum Beispiel Array-Werte hinzufügen, indem Sie die Eigenschaftarray.length
erhöhen, werden alle neuen Werteundefiniert
sein.Um festzustellen, ob ein gegebener Wert etwas Sinnvolles ist, oder definiert wurde. Das heißt, nicht
undefiniert
odernull
:oder
Interessanterweise kann mein letztes Beispiel aufgrund der JavaScript-Vergleichsregeln auf diese Weise optimiert werden: