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

68
Vistas
cómo obtener solo un valor de los datos de la matriz y convertirlo en valores separados por comas. usando javascript sin literales de plantilla

tengo datos de matriz en el formato que se indica a continuación

 const data= [ { name: "productname", id: "1356", price: "0.00", category: "Health", position: "1", list: "New Products", stocklevel: "20", brand: "Health" }, { name: "productname2", id: "5263", price: "0", category: "Hair", position: "2", list: "New Products", stocklevel: "", brand: "Hair" }]

de estos datos solo quiero el nombre del producto de cada producto por diferencia de producto1, producto2. por ejemplo, quiero los datos en formato de cadena por valores separados por comas como se indica a continuación:

 product1name: "productname", product2name: "productname2", ...

Intenté usar la función de mapa pero no pude tomar solo uno o dos valores de toda la matriz de datos. aquí está el código de lo que probé

 var dataByComa = ''; var Values = data .map(function (p, i) { return Object.keys(data[i]).map(function (k) { return "prod" +" " + ": " + JSON.stringify(data[i][k]); }); }).map(function (v) { return v.join(",\n"); }); var commaValues = Values.join(",\n"); return commaValues;

con este código puedo convertir datos de matriz en valores separados por comas, pero solo quiero nombres de productos.

Nota : - Sin usar literales de plantilla de plantilla.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puedes hacerlo usando reducir. Toma una función como primer parámetro y un valor inicial como segundo parámetro (aquí un objeto vacío {}). La variable "anterior" realiza un seguimiento del estado actual del nuevo objeto (inicialmente vacío), mientras que la función agrega el nombre de cada elemento de la matriz de "datos" al objeto.

 var result = data.reduce((previous, element) => { previous[element.name] = element.name; return previous; }, {})

EDITAR: Como me di cuenta, en realidad quieres una cadena como resultado. En ese caso podrías hacer:

 var result = data.reduce((previous, element) => { previous[element.name] = element.name; return previous; }, {}) var csvWithBrackets = JSON.stringify(result) var csv = csvWithBrackets.substring(1, csvWithBrackets.length-1)

Sin embargo, la respuesta de Pzutils parece más compacta.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Editar: ahora tengo más claro lo que buscaba el OP: aquí hay una respuesta que cumple con todos los requisitos

 let commaValues = "" for (let i = 0; i < data.length; i++) { commaValues += ("product" + (i + 1) + "name: " + "\"" + data[i]["name"] + "\", ") } // result: 'product1name: "productname", product2name: "productname2", '
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede iterar a través de los datos y asignar el valor a una variable externa como esta:

 let finalData = {} data.forEach((item, index) => { finalData[`product${index+1}name`] = item.name })
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