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

231
Visualizações
Cómo fusionar elementos de cadena en una salida separada con `,`

Estoy tratando de obtener datos de elementos div y generarlos separados con , de esta manera a, b ¿Cómo puedo lograr esto? Para mi ejemplo, el texto en la salida p debería verse como test, test222 dada

 let desc = document.querySelectorAll(".desc"); let output = document.querySelectorAll(".output"); let items = []; desc.forEach((item, i) => { console.log(item.dataset.sentence); output.textContent += item[i]; })
 <div class="desc" data-sentence="test"> </div> <div class="desc" data-sentence="test222 dada"> </div> <p class="output"> </p>

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Esto es lo que podrías probar:

  1. Almacene su texto en una matriz

La forma en que obtiene el texto con item.dataset.sentence está totalmente bien, solo necesita colocarlos en una matriz para usarlos más tarde.

 let text = []; desc.forEach((item, i) => { text.push(item.dataset.sentence); })
  1. Convierta la matriz en una cadena usando join()

text.join(',') => 'test,test222 dada'

  1. Actualizar el contenido

document.querySelectorAll(".output") no funcionará ya que devolverá una matriz, deberá cambiarlo a document.querySelector(".output") para tener un elemento.

 const desc = document.querySelectorAll(".desc"); const output = document.querySelector(".output"); const text = []; desc.forEach(item => text.push(item.dataset.sentence)); output.textContent = text.join(',');
 <div class="desc" data-sentence="test"></div> <div class="desc" data-sentence="test222 dada"></div> <p class="output"></p>

about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí hay otra solución que demuestra el uso de funciones avanzadas de sintaxis de ECMAScript como doble desestructuración en la firma de la función, distribución de matrices ( [...iterable] ) junto con Array.prototype.map .

 let desc = document.querySelectorAll(".desc"); let output = document.querySelector(".output"); output.textContent = [...desc].map(({dataset: { sentence } }) => sentence).join(', ');
 <div class="desc" data-sentence="test"></div> <div class="desc" data-sentence="test222 dada"></div> <p class="output"></p>

Explicaciones:

  1. [...desc] extiende la NodeList que tiene en desc en una matriz , lo que permite el uso de métodos de matriz como map y join .
  2. ({dataset: { sentence } }) desestructura el objeto que se pasa al iterador del mapa. La firma básicamente dice "Espero que me pasen un objeto que tiene una propiedad de conjunto de dataset , que es un objeto que tiene una propiedad de sentence . Dame esa sentence como una variable local dentro del cuerpo de la función".
about 4 years ago · Juan Pablo Isaza Relatório

0

Casi lo terminas pero cometes algún error.

Cuando selecciona la salida, solo necesita usar querySelector en lugar de querySelectorAll .

 let desc = document.querySelectorAll(".desc"); let output = document.querySelector(".output"); const data = []; desc.forEach((item) => { data.push(item.dataset.sentence); }); output.textContent = data.join(",");
 <div class="desc" data-sentence="test"> </div> <div class="desc" data-sentence="test222 dada"> </div> <p class="output"> </p>

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