Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

74
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda