Я знаю, что я могу использовать метод apply, но мне трудно понять, как его использовать, а именно, что входит в круглые скобки. Я пробовал читать статьи на нем и даже смотреть некоторые видео YT, но в конечном итоге все еще чувствую смущение.
То, что я пытаюсь сделать здесь, - это преобразовать следующую строку в unicode с помощью charCodeAt, тогда мне нужно добавить 13 к каждому значению, потому что я использую шифр ROT13. После этого я планирую использовать fromCharCode, чтобы возвращать числовые значения в письма, чтобы получить сообщение, а затем использовать.join для получения полного сообщения.
function rot13(str) {
var strSplit = str.split('');
strSplit.charCodeAt.apply();
}
rot13("SERR PBQR PNZC");
Используйте функции массива:
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(""))
Однако это может иметь некоторые оговорки...
Массив не имеет метода 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) );
String.prototype.charCodeAt(arr, index);