Показать сообщение отдельно
  #5 (permalink)  
Старый 03.01.2020, 14:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Filter, find... у тебя изначально объект, в котором выбор по ключу максимально быстрый, а ты его зачем-то преобразуешь в массив и на каждую букву полностью перебираешь.

Изначально должно было быть примерно так, тогда бы никаких проблем бы не возникло:
{
const alphabet = {
  а : 'a', б : 'b', в : 'v', г : 'g', д : 'd', е : 'e', ё : 'e', ж : 'zh',
  з : 'z', и : 'i', й : 'i', к : 'k', л : 'l', м : 'm', н : 'n', о : 'o',
  п : 'p', р : 'r', с : 's', т : 't', у : 'u', ф : 'f', х: 'h', ц : 'c',
  ч :'ch', ш : 'sh', щ : 'sh', ъ : '', ы : 'i', ь : '\'', э : 'e', ю : 'y', 
  я : 'ia'
};


let a = 'Привет красавчик';


function trans(x){
  let arr = x.split('');
  console.log(arr)
  for(let i = 0; i < arr.length-1; i+=1){
    if(arr[i] == ' '){
      i++;
    } else if(arr[i] in alphabet){
      arr[i] = alphabet[arr[i]];
    } else if(arr[i].toLowerCase() in alphabet){
      arr[i] = alphabet[arr[i].toLowerCase()].toUpperCase();
    }
  }
  return arr.join('')
};
__________________
29375, 35
Ответить с цитированием