При сортировке слов сверху появляется отступ , помогите исправить и подскажите насчёт уменьшения размера букв при использовании 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>