Как правильно установить первую букву в верхнем регистре в слове

80
20 февраля 2022, 06:00

Есть олимпиадная задача, суть которой получить логин из 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);

Answer 1

var str = "dasfasdAsdasaSASasd"; 
str = str[0].toUpperCase() + str.slice(1).toLowerCase(); 
console.log(str);

READ ALSO
Один UserControl для всех классов или несколько UserControl для каждого класса?

Один UserControl для всех классов или несколько UserControl для каждого класса?

В моей программе имеется множество UserControl'овОни похожи, но в тоже время отличаются

79
Передача массива в другую функцию

Передача массива в другую функцию

Как можно реализовать передачу массива из одной функции в другую? Перепробовал уже несколько способов, но к сожалению они не хотят работатьМне...

127
Выборка строки RadGridView

Выборка строки RadGridView

Как по нажатию клавиши мыши, выбрать всю строку в RadGridView и поместить элементы в List?

86
Dependency injection в ASP.Net Core

Dependency injection в ASP.Net Core

Сейчас сделано так

98