Agregar caracteres a una cadena en Javascript


108

Necesito agregar caracteres For Loop a una cadena vacía. Sé que puedes usar la función concat en Javascript para hacer concats con cadenas

var first_name = "peter"; 
var last_name = "jones"; 
var name=first_name.concat(last_name) 

pero con mi ejemplo no funciona. ¿Alguna idea de cómo hacerlo de otra manera?

mi código :

    var text ="";
    for (var member in list) {
            text.concat(list[member]);
    }

1
Si la lista es una matriz, no use for...insino un forbucle normal . Más información aquí: developer.mozilla.org/en/JavaScript/Reference/Statements/… Por cierto. si observa de cerca sus dos ejemplos, puede ver la diferencia ( name=first_name.concat(last_name)vstext.concat(list[member])
Felix Kling

Respuestas:


154
var text ="";
for (var member in list) {
        text += list[member];
}

Una mejor manera podría ser obtener las claves del objeto en lugar de iterar ( for...in) y unirse a ellas: var text = ""; text += Object.keys(list).join('')
Blazes

50

También puede seguir agregando cadenas a una cadena existente así:

var myString = "Hello ";
myString += "World";
myString += "!";

el resultado sería -> Hello World!


7

simplemente usó el +operador. Javascript concate cadenas con +


5

Parece que quieres usar join, por ejemplo:

var text = list.join();

1
Solo funciona para matrices. Pero me temo que el OP utiliza for...inpara atravesar una matriz, por lo que su sugerencia probablemente funcione.
Felix Kling

5

Para usar String.concat, necesita reemplazar su texto existente, ya que la función no actúa por referencia.

var text ="";
for (var member in list) {
        text = text.concat(list[member]);
}

Por supuesto, las sugerencias join () o + = ofrecidas por otros también funcionarán bien.


Esta es una buena solución porque deja la puerta abierta para el encadenamiento de funciones
Mark Carpenter Jr

3

Texto de uso simple = texto + cadena2

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.