He usado el siguiente método para hacer los cambios, pero obtengo espacios adicionales después de agregar la nueva línea. Usé trim(), pero hace que el valor no tenga sentido.
function addSpace() { var columnValue = "ER Throttle Position ER Throttle Position ER Throt"; var result = ""; while (columnValue.length > 0) { result += columnValue.substring(0, 15) + "\n"; columnValue = columnValue.substring(15); } columnValue = result; return columnValue; } console.log(addSpace());¿Estás hablando del espacio en la última línea de la salida Throt ? En realidad, no hay más datos allí, pero si desea que su cadena de entrada se repita para que llene el resto de ese espacio, deberá repetirla para que lo llene tanto como sea posible.
La cadena base de ER Throttle Position (con espacio final) tiene 21 caracteres. Para una longitud de línea de 15, repetir la cadena base 5 veces daría como resultado 7 líneas de texto repetido que llena todo el ancho (a menos que esté contando el espacio final):
const output = document.getElementsByTagName("output")[0]; function addNewLine(columnValue = "", position = 0) { if (columnValue === "" || position === 0) { return ""; } // Replacing spaces with underscore for visual representation columnValue = columnValue.replaceAll(" ", "_"); let result = ""; while (columnValue.length > 0) { result += columnValue.substring(0, position) + "\n"; columnValue = columnValue.substring(position); } //columnValue = result; return result; } function print(message = "") { output.innerHTML += `<pre>${message}</pre>`; } print(addNewLine("ER Throttle Position ER Throttle Position ER Throt", 15)); print(addNewLine("ER Throttle Position ER Throttle Position ER Throttle Position ER Throttle Position ER Throttle Position ", 15)); pre { border: 1px solid black; max-width: 7.5rem; padding: 0.5rem; } pre::before { border-bottom: 2px solid green; content: "0123456789abcde"; display: block; margin-bottom: 0.5rem; } <output></output>Cambios realizados en mi código:
position de caracteres_ (opcional)result a columnValue antes de devolver columnValueresult devuelto en su lugar