2011-03-02 29 views
27

Estoy buscando una manera ordenada de crear una cadena delimitada por comas de una matriz. Así es como lo estoy haciendo ahora ...Crear una cadena delimitada por comas

for(i=0;i<10;i++) 
{ 
    str = str + ',' + arr[i]; 
} 
str=str.substring(1) 
return str; 

... pero se siente un poco desordenado.

+2

Seis excelentes respuestas en tres minutos. Este lugar es increíble. Gracias a todos. – Urbycoz

+1

En una nota lateral, en lugar de 'str = str +' puede usar 'str + ='. – pimvdb

+0

http://www.w3schools.com/jsref/jsref_join.asp – Bogatyr

Respuesta

48

Array.prototype.join() es lo que está buscando:

arr.join(','); 

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/join


var arr = ['Hi', 'I', 'am', 'a', 'comma', 'separated', 'list']; 

arr.join(','); // === "Hi,I,am,a,comma,separated,list" 
+7

Y si es una coma que desea, no necesita darle un parámetro en absoluto - '',' 'es el separador predeterminado, Sección 15.4.4.5 de [la especificación] (http://www.ecma-international.org/publications/standards/Ecma-262.htm). Aunque no duele por claridad. –

+0

@ T.J .: buen punto. De todos modos, supongo que no confiaría en eso si para mí es importante tener una matriz unida a una coma (más precisamente, no me atrevería a todas las implementaciones). – jAndy

+0

Nunca he conocido una implementación que lo haya malinterpretado, pero tengo * nada * en contra de la claridad provista por ser explícito. (Soy un gran admirador de la claridad) –

2

Utilice el método de incorporación:

arr.join(','); 
1

Creo que es algo así como array.join(',') donde matriz es su instancia de variable de matriz.

1

Use la función Participar:

myarray.join(',');

1

usted tiene que utilizar

var = joinedstr myarray.join ('');

Cuestiones relacionadas