Tengo este fragmento de código y necesito agregar dentro de this.info().Info una nueva línea después de cada 10 palabras. No estoy muy familiarizado con JavaScript y lo estoy aprendiendo, pero no sé cómo hacer esto. this.info().Info almacena el texto de Lorem Ipsum que se escribe dentro de un campo y luego se guarda.
$(this.data()).after('<tr class="info-row"><td colspan="100"><div>' + this.info().Info + '</div></td></tr>');Puede usar el operador mod ( % ), que devuelve el resto de x / y , para eso. Puede recorrer cada palabra para verificar si el índice es divisible por 10 y, si lo es, agregar \n .
Aquí está cómo hacer eso:
function addNewlineEvery10Lines(text) { return text.split(" ").map((word, index) => { // get the words in an array and loop through them if ((index + 1) % 10 === 0) return word + "\n"; // add newline if divisible by 10 return word; // just return word otherwise }).join(" "); // join the array back up }Ahora puede utilizar esta función en la información.
$(this.data()).after('<tr class="info-row"><td colspan="100"><div>' + addNewlineEvery10Lines(this.info().Info) + '</div></td></tr>');