По существу я работаю над этим coding challenge на FreeCodeCamp. Начало вызова упоминает об этом, чтобы начать с ...Передача значения подматрицы в CharCodeAt в JavaScript
Обычным современное использование является шифром ROT13, где значения букв сдвинуты на 13 мест. Таким образом, «A» ↔ 'N', 'B' ↔ 'O' и т. Д.
Напишите функцию, которая вводит строку с кодировкой ROT13 в качестве входных данных, а возвращает декодированную строку.
До сих пор я передал строку массиву с каждой частью строки в своем собственном массиве (подматрица). Оттуда я полагаю, что я бы использовал цикл для прохождения каждого символа в строке (в каждом подматрице) и передать метод CharCodeAt каждому из них.
Моя проблема заключается в передаче каждого отдельного символа для прохождения через CharCodeAt.
Это часть общей функции, которая следует ниже:
Для меня это имеет смысл, так как я передаю значение каждого суб-массива в переменную
var foo = container[i][k];
// var output = container.map(function mapHandler(){foo.charCodeAt(k)});
function rot13(str){
var container, j = 0;
while(j <= str.length - 1){
container = str.split(' ');
j++;
}
for(var i = 0; i < container.length; i++){
for(var k = 0; k < container[i].length; k++){
var foo = container[i][k];
var map = Array.prototype.map;
var output = map.call(foo, function(x){ return x.charCodeAt(k);});
// var output = container.map(function mapHandler(){foo.charCodeAt(k)});
// output.charCodeAt(k);
}
}
return output;
}
rot13("SERR PBQR PNZC") should decode to "FREE CODE CAMP"
Может кто-нибудь просто помочь дойти до этого? Я не хочу целого решения!
Заранее благодарен!
Попробуйте использовать 'str.split ('');' (без пробела) ... вы получите массив, содержащий каждый символ, включая пробелы, тогда вам не понадобится больше одного цикла. – Mottie
Ум ... почему вы ссылаетесь на 'container' до того, как он был определен? –
см. Здесь проблемы: https://jsbin.com/mivepeh/2/edit?js,console – JordanHendrix