@nik787

Как написать функцию toLowerCase() toUpperCase() своими руками?

напишите функцию, которая возводит переданную строку в указанный регистр (верхний или нижний), при этом может опционально сделать первую букву инвертированным регистром (то есть, если всю строку к верхнему, то первую букву к нижнему. и наоборот). не используйте стандартную функцию смены регистра - вам нужно ее написать, в этом суть задачи.
  • Вопрос задан
  • 532 просмотра
Решения вопроса 1
@StockholmSyndrome
toLowerCase по аналогии
String.prototype.toUpperCase = function() {
  let symbols = {}; 

  function add(a, b) {
    symbols[String.fromCharCode(a)] = String.fromCharCode(b);
  }

  function addRange(start, end, offset) {
    for (let i = start; i <= end; ++i) {
      add(i + offset, i);
    }
  }

  addRange(65, 90, 32);
  addRange(1040, 1071, 32);
  add(1105, 1025);

  let result = ''; 
  for (let i = 0, l = this.length; i < l; ++i) {
    result += symbols[this[i]] || this[i];
  }
  return result;
};

let str = 'съешь ещё этих мягких французских булок, да выпей чаю';
console.log(str.toUpperCase());
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Взять 2 массива и находя букву в одном заменять на букву из другого.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы