Проблема с перебором текста (JavaScript)

Код перебирает какой-то текст, затем заменяет каждую букву стоящую правее на три позиций. Проблема в том, что я не знаю как прописать так, чтобы символы сохранялись в переменную someLetter, чтобы образовать текст.

for (let letter of 'text') {
    
    let codeLetter = letter.codePointAt() + 3;
    if (codeLetter == 35) {
      continue;
    }
    let someLetter = String.fromCodePoint(codeLetter);
}

Это мой первый проект, прошу принять это во внимание.


Ответы (3 шт):

Автор решения: entithat

Т.к. строки можно слаживать в JS, то создадит в начале перед циклом пустую строку (в которую будем записывать значение). И проходясь по каждой букве слова, будем прибавлять к этой строке символ с помощью оператора +=.

const text = 'абвгд';
let someLetter = '';

for (let letter of text) {
  let codeLetter = letter.codePointAt() + 3;
  if (codeLetter == 35) {
    continue;
  }
  someLetter += String.fromCodePoint(codeLetter);
}

console.log(someLetter);

Это можно записать еще проще:

console.log([...'абвгд'].map(e => {
  const cp = e.codePointAt() + 3;
  return cp == 35 ? e : String.fromCodePoint(cp);
}).join(''));

P.S. Но если делать шифр Цезаря, то стоит пропускать такие символы, как: пробел, разные знаки и допускать только буквы из алфавита.

→ Ссылка
Автор решения: Aziz Umarov

Что-то такое ищите?

let text = 'Что-то такое ищите?';
let originalArray = text.split("");

let encriptedArray = originalArray.map(char => char.charCodeAt(0)).map(i => String.fromCharCode(i + 3));


let decriptedArray = encriptedArray.map(char => char.charCodeAt(0)).map(i => String.fromCharCode(i - 3));


console.log(encriptedArray.join(""));
console.log(decriptedArray.join(""));

→ Ссылка
Автор решения: Daniil Loban

const getText =(text) => {
   return (text.split('')  // преобразовать текст на массив букв
         .filter(e => !!e) // удалить все пробелы (32 + 3)
         .map(e => String.fromCodePoint(e.codePointAt() + 3))) // сместить все символы на 3
         .join('') // объединить массив букв в строку
}

console.log(getText('text'))

неужели я один знаю что код пробела 32 :)

→ Ссылка