J'ai passé 2 heures la nuit à utiliser Javascript pour traiter une simple fonction de filtrage de chaînes. Le code est collé ci-dessous. Je veux juste filtrer <b/> dans les résultats de requête renvoyés par Google AJAX. API de recherche.
Une raison très importante pour laquelle cela prend autant de temps est que je ne suis pas familier avec l'opération de concaténation de caractères de JavaScript. JS ne prend pas en charge +=, vous devez donc utiliser a=a + 'b'. En fait, ce problème est très simple quand on y pense, mais je ne sais pas pourquoi cela a pris beaucoup de temps.
Copiez le code comme suit :
fonction ProcessString(string){
var je = 0 ;
var leftTagFlag = faux
var clearString = new String();//no <b> chaîne de balise
alert("string.length = " + string.length);
while(i < string.length){
commutateur(string.charAt(i)){
cas '<' : leftTagFlag = true ;
casser;
cas '>' : leftTagFlag = false ;
casser;
cas '/':
cas 'b' : si (leftTagFlag)
casser;
sinon clearString.concat( string.charAt(i) );
par défaut : clearString = clearString.concat( string.charAt(i) );
}
je++;
}