i wanted to do a little program that delete some unwanted characters like "/n","/t" from an array,the issue is that it works in part. i saw that the program deletes some of the characters i want, but not for all indices (for example : the 3th et the 5th):
the program :
var contenuespacemenu = $('.Espace-Menu').children('div').html(); //the array which contains characters i want to delete.
var bannedcaractere = ["\n", "\t"];
var caractereinside = [];
for (var i = 0; i < 50; i++) {
for (var j = 0; j < (bannedcaractere.length); j++) {
let test = contenuespacemenu[i] == bannedcaractere[j];
if (test) {
i = i + 1;
} else {
caractereinside[i] = contenuespacemenu[i];
}
}
}
console.log(caractereinside);
And it shows this result :
some of the unwanted characters are deleted but not all of them ... indices 3 and 5.
And here is the primary code which put the string content of an html tag into an array " caractereinside " character by character :
var contenuespacemenu = $('.Espace-Menu').children('div').html();
//var bannedcaractere = ["\n","\t"];
var caractereinside = [];
for (var i = 0; i < 50; i++) {
caractereinside[i] = contenuespacemenu [i];
}
console.log(caractereinside);
The result :
if i transform "var contenuespacemenu" into a regular array like so, it works :
var contenuespacemenu = ["1","2","3","4","5","6","7","8"];
//var bannedcaractere = ["\n","\t"];
var caractereinside = [];
for (var i = 0; i < 50; i++) {
caractereinside[i] = contenuespacemenu [i];
}
console.log(caractereinside);
i get this :
i also tried to replace i = i+1 by a break like what i was talled, like so :
var contenuespacemenu = $('.Espace-Menu').children('div').html();
var bannedcaractere = ["\n","\t"];
var caractereinside = [];
for (var i = 0; i < 50; i++) {
for (var j = 0; j < (bannedcaractere.length); j++) {
let test = contenuespacemenu[i] == bannedcaractere[j];
if (test) {
break;
}
else {
caractereinside[i] = contenuespacemenu[i];
}
}
}
console.log(caractereinside);
But it gave me this :
Finally, i tried again with i = i+1 with a defined array for var contenuespacemenu, also changed var bannedcharacter, and it worked like it supposed to be:
var contenuespacemenu = ["1","2","3","4","5","6","7","8"];//the array which contains characters i want to delete.
var bannedcaractere = ["1", "2","3","4"];
var caractereinside = [];
for (var i = 0; i < 50; i++) {
for (var j = 0; j < (bannedcaractere.length); j++) {
let test = contenuespacemenu[i] == bannedcaractere[j];
if (test) {
i = i+1;
} else {
caractereinside[i] = contenuespacemenu[i];
}
}
}
console.log(caractereinside);
The result :