J'ai un tableau que je créé comme ceci:TypeError: arrayal [i] est indéfini mais il est défini
var gelenveri = document.getElementById("cakalinput").value;
var arrayal = [];
arrayal = gelenveri.split(" ");
J'utilise cette arrayal pour ma fonction, mais je reçois une erreur (TypeError: arrayal [i ] est indéfini mais il est défini) à cette instruction while qui est à l'intérieur d'une autre boucle:
while(((!(arrayal[i].indexOf('%') > -1)) || (arrayal[i] != "-"))){
temizarray[j] = temizarray[j] + arrayal[i];
i++;
}
lorsque je tente de regarder typeof (arrayal [i]), il est dans le type de chaîne. Je n'ai pas pu résoudre ce problème pendant une heure. Une idée?
Ceci est mon code complet:
function cakallik() {
var gelenveri = document.getElementById("cakalinput").value;
var arrayal = [];
arrayal = gelenveri.split(" ");
var uzunluk = arrayal.length;
var temizarray = [];
var j = 0;
var i = 0;
for (; i < uzunluk;) {
temizarray[j] = arrayal[i]; //ilk satır alındı
i++;
j++;
temizarray[j] = arrayal[i]; //ikincisatır alındı
i++;
j++;
temizarray[j] = arrayal[i]; //üçüncü satır alındı
i++;
j++;
temizarray[j] = arrayal[i]; //dördüncü alındı
i++;
j++;
temizarray[j] = arrayal[i]; // beşinci alındı
i++;
while (arrayal[i] != "-") {
temizarray[j] = temizarray[j] + arrayal[i];
i++;
}
i++;
j++;
temizarray[j] = arrayal[i];
i++;
console.log(typeof (arrayal[i]));
while (((!(arrayal[i].indexOf('%') > -1)) || (arrayal[i] != "-"))) {
temizarray[j] = temizarray[j] + arrayal[i];
i++;
}
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
i++;
i++;
j++;
temizarray[j] = arrayal[i];
i++;
j++;
temizarray[j] = arrayal[i];
}
console.log(temizarray);
}
avant while vérifier si 'arrayal.length> 0' –
@TamilSelvanC encore vous entrez dans cette erreur. vous devriez arrêter 'while' –
Je pense que' i ++; 'provoque ce problème essayer de le mettre en dehors de tout en boucle .... –