Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

665
Vistas
obtener una cadena de todos los nombres de las variables y sus valores reales de una matriz

Tengo una matriz de variables. Me gustaría obtener una cadena de todas las variables con su nombre de variable y el valor que representa. Esto es lo que tengo.

 var date = '1/1/22'; var time = '5:00' var name = 'some name'; var number = '123-456-7890'; var arr = [date,time,name,number]

Me gustaría convertirlo en una cadena tal vez así:

 var text = ''; text += arr[0].toUpperCase() + ": " + arr[0] + "\n";

que haría una salida de text como esta en el cuerpo de un correo electrónico

 date: 1/1/22 time: 5:00 name: some name number: 123-456-7890
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esto no se puede hacer con una matriz porque los elementos de la matriz no tienen nombres. Los nombres de las variables no se mantienen al construir la matriz, solo sus valores .

Se puede hacer con un objeto, y luego puede usar Object.entries para iterar sobre el contenido del objeto y obtener tanto la clave como el valor de cada elemento:

 var date = '1/1/22'; var time = '5:00' var name = 'some name'; var number = '123-456-7890'; var obj = { date, time, name, number }; for (var [key, value] of Object.entries(obj)) console.log(key + ": " + value)

Una nota final: no se garantiza el orden de los artículos devueltos por Object.entries() .


Otra opción es colocar objetos con una sola propiedad nombrada en una matriz. De esta forma, se garantiza el orden de los elementos y los nombres de los elementos están disponibles mediante Object.keys():

 var date = '1/1/22'; var time = '5:00' var name = 'some name'; var number = '123-456-7890'; var arr = [ { date }, { time }, { name }, { number } ]; for (var item of arr) { // We have knowledge that every object has only 1 property, get its name: var key = Object.keys(item)[0]; console.log(key + ": " + item[key]); }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que su mejor opción es usar una matriz bidimensional. Aquí hay un fragmento de código (lo copié de una MacBook, así que espero que tenga el formato correcto):

 function getVarAndValArray() { var date = '1/1/22'; var time = '5:00' var name = 'some name'; var number = '123-456-7890'; //Create two-dimensional array let arr = []; arr[0] = []; //date arr[1] = []; //time arr[2] = []; //name arr[3] = []; //number //----------------------------------- //Insert variables names and values //Date arr[0][0] = 'date'; //variable arr[0][1] = '1/1/22'; //value //Time arr[1][0] = 'time'; //variable arr[1][1] = '5:00'; //value //Name arr[2][0] = 'name'; //variable arr[2][1] = 'some name'; //value //Number arr[3][0] = 'number'; //variable arr[3][1] = '123-456-7890'; //value //------------------------------------ return arr; } //Output the results var arr = getVarAndValArray(); var text = ''; text += arr[0][0].toUpperCase() + ": " + arr[0][1] + "\n"; text += arr[1][0].toUpperCase() + ": " + arr[1][1] + "\n"; text += arr[2][0].toUpperCase() + ": " + arr[2][1] + "\n"; text += arr[3][0].toUpperCase() + ": " + arr[3][1] + "\n"; alert(text);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda