Как я могу использовать .charCodeAt на массиве?

1

Я знаю, что я могу использовать метод apply, но мне трудно понять, как его использовать, а именно, что входит в круглые скобки. Я пробовал читать статьи на нем и даже смотреть некоторые видео YT, но в конечном итоге все еще чувствую смущение.

То, что я пытаюсь сделать здесь, - это преобразовать следующую строку в unicode с помощью charCodeAt, тогда мне нужно добавить 13 к каждому значению, потому что я использую шифр ROT13. После этого я планирую использовать fromCharCode, чтобы возвращать числовые значения в письма, чтобы получить сообщение, а затем использовать.join для получения полного сообщения.

function rot13(str) {

  var strSplit = str.split('');
  strSplit.charCodeAt.apply();

}


rot13("SERR PBQR PNZC");
  • 0
    вы можете попробовать String.prototype.charCodeAt(arr, index);
  • 0
    Вероятно, стоит отметить, что простого добавления 13 к charCode недостаточно для шифра вращения, поскольку он не выполняет никакого вращения
Теги:

2 ответа

1

Используйте функции массива:

function rot13(str) {
  var strSplit = str.split('');
  var res = strSplit.map(l => l.charCodeAt())
  return res;
}


console.log(rot13("SERR PBQR PNZC"));

Вы можете объединить числа вместе в виде строки:

console.log(rot13("SERR PBQR PNZC").map(l => JSON.stringify(l)).join(""))

Однако это может иметь некоторые оговорки...

0

Массив не имеет метода charCodeAt.

Вы можете выполнять итерацию по всем символам после разделения

Попробуй это

function rot13(str) 
{
  return str.split('').map(function(item) {
    return String.fromCharCode(item.charCodeAt(0) + 13)
  }).join("")
}

console.log( rot13("SERR PBQR PNZC") );

Более общий

function rot(str, num) 
{
  return str.split('').map(function(item) {
    return String.fromCharCode(item.charCodeAt(0) + num)
  }).join("")
}

console.log( rot("SERR PBQR PNZC", 13) );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню