Hur kontrollerar jag i JavaScript om det finns ett värde vid ett visst arrayindex?
Fungerar detta för att testa om ett värde på position "index" finns eller inte, eller finns det ett bättre sätt?
if(arrayName[index]==""){
// do stuff
}
513
3
Alla matriser i JavaScript innehåller
array.length
-element, frånarray[0]
tillarray[array.length - 1]
. Per definition sägs ett arrayelement med indexi
vara en del av arrayen omi
är mellan0
ocharray.length - 1
.JavaScript-matriser är alltså linjära, med noll som startpunkt och ett maximum, och matriser har ingen mekanism för att utesluta vissa värden eller intervall från matrisen. För att ta reda på om det finns ett värde vid ett visst positionsindex (där index är 0 eller ett positivt heltal) använder du bokstavligen bara
Det är dock möjligt för vissa arrayvärden att vara noll,
undefined
,NaN
,Infinity
, 0, eller en hel mängd olika värden. Om du till exempel lägger till arrayvärden genom att öka egenskapenarray.length
kommer alla nya värden att varaundefined
.För att avgöra om ett givet värde är något meningsfullt eller om det har definierats. Det vill säga inte
undefined
ellernull
:eller
Intressant nog kan mitt sista exempel optimeras till följande på grund av JavaScript:s jämförelseregler: