При сортировке слов сверху появляется отступ , помогите исправить и подскажите насчёт уменьшения размера букв при использовании toLowerCase

Подскажите как исправить , когда сортирую слова , сверху появляется лишняя пустая строчка . А если ещё подскажите как сделать что бы при сортировке не учитывался размер(регистр) букв и слова с большими буквами не уменьшались, вы для меня будете святым , я пытался использовать toLowerCase , работало как мне нужно , но все слова у которых были большие буквы становились с маленьким буквами , а мне нужно что бы они оставались такими же , но при этом сортировались вместе со словами с маленькими буквами , а не отдельно (простите если не правильно что написал , я новичок)

<pre class="spisok" id="pre-1">
PUBG
cs go
Conan Exiles
left 4 dead 2
rust
the sims 3,4
worms
crossout
ark survival evolved
Team Fortress 2
</pre> 

<button onclick="сортировать('pre-1')">Сортировать</button>

function сортировать(id) { 
    var text = document.getElementById(id).textContent; 
    var slova = text.split(/\n+/);
    console.log(slova); 
    slova.sort(); 
    document.getElementById(id).textContent = slova.join('\n'); 
} 


Ответы (1 шт):

Автор решения: Алексей Шиманский

появляется лишняя пустая строчка

Потому что разбиение происходит по \n, а этот символ есть и у последней строки. Можно просто удалить последний элемент в массиве

как сделать что бы при сортировке не учитывался размер (регистр)

Нужно обе строки привести к одному регистру и сравнить

function сортировать(id) { 
    var text = document.getElementById(id).textContent; 
    var slova = text.split(/\n+/);
    slova.pop();
    console.log(slova); 
    slova.sort((a, b) => {
        const slovoA = a.toUpperCase(); // ignore upper and lowercase
        const slovoB = b.toUpperCase(); // ignore upper and lowercase
        if (slovoA < slovoB) {
          return -1;
        }
        if (slovoA > slovoB) {
          return 1;
        }

        return 0;
    });
    
    document.getElementById(id).textContent = slova.join('\n'); 
} 
<pre class="spisok" id="pre-1">
PUBG
cs go
Conan Exiles
left 4 dead 2
rust
the sims 3,4
worms
crossout
ark survival evolved
Team Fortress 2
</pre> 

<button onclick="сортировать('pre-1')">Сортировать</button>

→ Ссылка