Je suis en peine avec une simple comparaison de variable de type string.

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
var KindOfSerial = [];
 
$( '#Modal-Pack' ).keydown( function ( e ) {
	KindOfSerial.push( e.keyCode );
 
	if( e.keyCode == 13 ) { Flash( KindOfSerial ); KindOfSerial = []; }
} );
 
function Flash( KindOfSerial ) {
	var Serial = String( );
 
	for( a in KindOfSerial )
		Serial += String.fromCharCode( KindOfSerial[a] );
 
 
	Serial.replace(/\s/g,"");
 
	for( var a in elt.serial_number ) {	
 
		if( elt.serial_number[a].numero == Serial ) {
			$( '.bodySerial' ).append( '<tr> <td>'+elt.serial_number[a].numero+'</td> </tr>' );
 
			flag = true;
		}
	}
}

L'objet elt est en partie constituer d'un tableau d'objet serial_number avec un seul attribut numero. Ce tableau d'objet contient la liste des numéros de série enregistré.

La variable Serial est un string contenant la valeur d'un numéro de série scanner avec un lecteur code barre.

Lorsque j'affiche les deux valeurs à l'aide d'un:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
console.log( elt.serial_number[a].numero, Serial )
sur chaque itération je retrouve bien une ligne ou je devrais passer dans ma condition mais rien y fait.

J'ai bien essayé de supprimer d'éventuels espaces ou caractère blanc mais pas moyen ça veut pas passer.

Chose étrange lorsque je fait quelque chose de ce genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
for(a in Serial) console.log( Serial[a] );
cela m'affiche des caractères blanc en début et fin de chaîne mais aussi à chaque répétition de caractères se suivant...
exemple:

Serial = '004TWH9388'

==> [ ], [0], [ ], [0], [4], [T], [W], [H], [9], [3], [8], [ ], [8], [ ]

merci d'avance de votre aide