У нас есть задача сохранить строку в файл на ПК из клиента (браузера). В браузере у нас работает JavaScript. Но есть одна проблема.
При попытке ручного копирования (CTRL+C / CTRL+V) строки из консоли браузера и вставки её в редактор кода или файл, мы теряем переносы строк. Вместо мульти-лайновости мы получаем сингл-лайновость. Как быть?

Кнопка «Copy» не фиксирует переносы строки.
Решение
Единственный способ адекватного фиксирования переносов строк — это сохранение строки в файл на ПК силами самого браузера.
Фрагмент кода:
let str = arr.map(i=>i.join("^")+"\r\n").join("") function saveToPC(str){let blob = new Blob([str], {type: "text/plain"}); let link = document.createElement("a"); link.setAttribute("href", URL.createObjectURL(blob)); link.setAttribute("download", Date.now()+""); link.click();}
Тут нас интересует:
+"\r\n"
Добавление этой строки к обычной строке создаёт символ переноса CR LF при сохранении в файл.