Probleme JS et les tableaux ( array )

nickleus Messages postés 384 Statut Membre -  
Archeus01 Messages postés 1566 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une chaine de caractère de ce type :

var values = "bibi, vivi, didi"


Je souhaite supprimer "vivi". Je fait de donc de la façon suivante :

var id = "vivi";
var array = values . split ( ',' );
n = array.length;

var outPut = [];
for ( i = 0; n > i; i++ )
{
	if ( array[i] != id )
	{
		outPut[i] = array[i];			
	}					
}
				
values = outPut . join ( ',' );


mais ça me sort : "bibi, , didi"

Avec un trou entre les virgules. Savez-vous pourquoi ?

Merci beaucoup d'avance.

Cordialement.

--
Il n'y a pas de problèmes, il n'y a que des solutions
Configuration: vista
Firefox

1 réponse

  1. Archeus01 Messages postés 1566 Date d'inscription   Statut Membre Dernière intervention   455
     
    Bonjour,
    Alros déjà quand on teste ton code, values vaut bibi, vivi, didi . (j'aurais du m'arrêter la comme les autres mais bon...)
    Il a fallu que je corrige ton code et fasse id =" vivi";

    Ensuite , oui parce que output[2] et output[0] existent donc il fait comme si output [1] existe même s'il ne contient rien.

    Donc tu peux remplacer par

    <SCRIPT LANGUAGE="Javascript">
    var values = "bibi, vivi, didi";

    var id = " vivi";
    var array = values . split ( ',' );
    n = array.length;

    var outPut = [];
    var j=0;
    for ( i = 0; n > i; i++ )
    {
    if ( array[i] != id )
    {
    outPut[j++] = array[i];
    }
    }

    values = outPut . join ( ',' );

    document.write(values);
    et la on obtient bien bibi, didi
    </script>
    0