Est-il possible de supprimer des délimiteurs lorsque vous array.toString? (javascript)

var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
var result = myArray .toString();

Le résultat doit être "zéro sur deux sur cinq"

5
Demion 6 déc. 2011 à 17:08

5 réponses

Meilleure réponse

Vous pouvez utiliser join au lieu de toString -

var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
var result = myArray.join('');

join joindra tous les éléments du tableau dans une chaîne en utilisant l'argument passé à la fonction join comme délimiteur. Donc, appeler join et passer une chaîne vide devrait faire exactement ce dont vous avez besoin.

Démo - http://jsfiddle.net/jAEVY/

17
ipr101 6 déc. 2011 à 13:17

Vous pouvez plutôt utiliser array.join("separator") à la place.

["a", "b", "c"].join("");  // "abc"
["a", "b", "c"].join(" "); // "a b c"
["a", "b", "c"].join(","); // "a,b,c"
3
hugomg 6 déc. 2011 à 14:38

Vous pouvez vous le replace [MDN ] :

var arr = [1,2,3,4],
    arrStr = arr.toString().replace(/,/g, '');
2
FishBasketGordo 6 déc. 2011 à 13:12

Vous pouvez simplement utiliser Array.join() pour y parvenir:

var arr = ["foo", "bar", "baz"],
    str1 = arr.join(""), // "foobarbaz"
    str2 = arr.join(":"); // "foo:bar:baz"

Tout ce que vous spécifiez dans la méthode join sera utilisé comme délimiteur.

6
jabclab 6 déc. 2011 à 13:11

Normalement, le séparateur est , pour supprimer le séparateur, utilisez la fonction .replace(/,/g,'')

Mais s'il y a une virgule , dans les données, vous voudrez peut-être envisager quelque chose comme

var str = '';
for(var x=0; x<array.length; x++){
  str += array[x];
}
1
David Laberge 6 déc. 2011 à 13:11