Есть олимпиадная задача, суть которой получить логин из prompt в переменную userInput и сравнить ее с массивом логинов logins.
Так как получаемый логин может быть в любом регистре, необходимо его привести в следующий Формат, где первая буква заглавная, а последующие строчные, и после уже сравнивать.
Учитывая иммутабельность строк в js рекомендовано переводить их в массивы и после проводить манипуляции с ними. Но можно же изменить регистр символов и без массива, поэтому интересует какой из приведенных ниже примеров более корректный или же они равнозначны.
let str1 = 'Mango'; // строка в массиве
let str2 = 'MANGO'; // получаемая строка; регистр всех символов может быт разным
console.log('str1:', str1);
console.log('str2:', str2);
// вариант 1
str2 = str2.toLowerCase();
str2 = str2[0].toUpperCase().concat(str2.slice(1));
// или
//str2 = str2[0].toUpperCase() + str2.slice(1);
// вариант 2
const arr = str2.split('');
arr[0] = arr[0].toUpperCase();
str2 = arr.join('');
console.log(`после преобразования str1: ${str1}, str2: ${str2}`)
console.log('str1 === str2:', str1 === str2);
var str = "dasfasdAsdasaSASasd";
str = str[0].toUpperCase() + str.slice(1).toLowerCase();
console.log(str);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей