Ma boucle for ne vas pas jusqu'à la fin
Bonjour,
mon problème est que ma boucle for ne va pas jusqu'au bout pour lire toutes les valeurs d'un tableau.
Voici le code javascript très simplifié du problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
<script type="text/javascript">
/*On crée un array qui contient 9 chiffres*/
tableau = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
/*On crée une fonction qui va servir supprimer toutes les valeurs d'un tableau passé en paramètre :*/
function supprimerValeurs(array)
{
/*On crée une copie de l'array, car c'est dans cette copie qu'on va supprimer toutes les valeurs :*/
copyArray = array;
/*On fait une boucle for sur le tableau array pour supprimer toutes les valeurs dans copyArray*/
for(j = 0; j < array.length; j++)
{
/*On supprime la valeur dans la copie copyArray*/
copyArray.splice(array.indexOf(j), 1);
/*On affiche dans la console la progression de l'incrémentation :*/
console.log(j);
}
}
/*On exécute la fonction pour supprimer toutes les valeurs du tableau*/
supprimerValeurs(tableau);
</script> |
Et après l'exécution de ce code, voici ce que j'ai dans la console :
, alors que je devrais avoir :
Code:
1 2 3 4 5 6 7 8 9
| 0
1
3
4
5
6
7
8
9 |
=> donc ça veut dire que la boucle for s'arrête à 4 au lieu d'aller jusqu'au bout, càd jusqu'à 9.
Apparemment, quand je commente la ligne
Code:
copyArray.splice(array.indexOf(j), 1);
, ça va bien jusqu'au bout.
Mais pourquoi ça ne va pas jusqu'au bout ?
Merci d'avance, cordialement.
PS : Je sais que je peux supprimer toutes les valeurs d'un tableau en faisant juste tableau = [];, mais je ne veux pas le faire, car dans le script complet, il y a d'autres traitements dans la boucle for en question.