Kann jemand bitte dieses Verhalten von JavaScript-Arrays erklärenJavascript-Array mit Index Number.MAX_VALUE
//create an empty array
var arr=[];
//added an entry with index Number.MAX_VALUE
arr[Number.MAX_VALUE]="test"
//On printing the array, its showing as empty
arr
//[]
//even its length=0
arr.length
//0
//on accessing the same value its showing the correct value
arr[Number.MAX_VALUE]
//"test"
ich dies mit Number.MIN_VALUE versucht haben.
Kennt jemand den Grund dafür?
'Number.MAX_VALUE' ist größer als die größte ganze Zahl, die ein numerischer Array-Index sein können, Es wird also kein Element erstellt oder die '.length'-Eigenschaft geändert, sondern eine Eigenschaft hinzugefügt. Wenn Sie das Array in der Konsole erweitern, sollten Sie die Eigenschaft mit dem tatsächlichen Namen sehen, der gesetzt wurde (ich sehe den String '" 1.7976931348623157e + 308 "'). – nnnnnn
Übrigens passiert das Gleiche "1,5" oder eine andere Gleitkommazahl. –
Es passiert auch mit jeder negativen Zahl, also ist das Verhalten mit 'Number.MIN_VALUE' keine Überraschung. – JJJ