Je suis confus concernant les tableaux javascript et la façon dont les index fonctionnent dans ces tableaux. La longueur du tableau est toujours 0, quel que soit le nombre d'éléments de valeur clé présents dans le tableau. Nous pouvons également voir que le tableau n'a que deux éléments à condition que la clé soit une chaîne. Considérons le scénario 1, j'ai le code suivant.Tableau Javascript montrant un comportement incohérent
arr = [];
arr['home'] = 1234;
arr['cat'] = 12345;
console.log(arr.length);
console.log(arr);
considèrent maintenant le deuxième scénario, j'ai un tableau vide et j'attribuer un certain nombre au 20 index du tableau. Puis quand je produis le tableau, la longueur montre 21 avec tous les autres emplacements étant 'indéfini'.
arr = [];
arr[20] = 20;
console.log(arr.length); // Length shows 20 Size of array increased to 21
maintenant dans le troisième scénario i assignera les deux indices numérotés et indices de chaîne et montre un autre comportement étrange. La longueur du tableau ne compte pas la valeur avec l'index basé sur une chaîne. Même si j'ai 4 index numériques et un index basé sur une chaîne. Ainsi, la longueur doit être 6 mais la longueur montre 5.
arr = [];
arr[4] = 4;
arr['home'] = 'home';
console.log(arr);
Maintenant, j'ai deux questions.Firstly, Pourquoi la fonction de longueur non indexé de l'examen du point chaîne? Deuxièmement, pourquoi dans le cas des indices numérotés, la taille du tableau est-elle augmentée pour au moins ce nombre?
Les tableaux ne peuvent avoir que des touches numériques –
Avez-vous essayé d'exécuter le code? Ceci est javascript j'ai posé une question à propos de - @RolandStarke –