Polybius Square Javascript映射函数



我正在处理一个求解polybius平方函数的问题。我很难弄清楚如何创建一个polybius平方函数。带有以下说明:

polybius((src/polybius.js中的函数文件有两个参数:

输入是指要编码或解码的输入文本。encode指的是您应该对消息进行编码还是解码。默认情况下,它设置为true。构建函数时,请记住以下约束和规则:

欢迎您假设输入中不会包含其他符号。只包括空格和字母。编码时,您的输出应该仍然是一个字符串。解码时,字符串中不包括空格的字符数应为偶数。否则,返回false。应始终保持空间。大写字母可以忽略。字母";我"以及";J";共享一个空间。编码时,两个字母都可以转换为42,但在解码时,应该以某种方式显示两个字母。

&基本上,我带着我的代码来到这里:

const cipher = (input, encode = true) => {
const direction = encode ? encoder : decoder;
return input
.match(/[0-9]{2}|[a-z]|s/g)
.map(character => direction[character] || character)
.join('');
};

但当我解码字符串时,我不知道该如何处理i/j异常。有什么想法吗?

const encoder = { 'a': '11', 'b': '12', 'c': '13', 'd': '14', 'e': '15', 'f': '21', 'g': '22', 'h': '23', 'i/j': '24', 'k': '25', 'l': '31', 'm': '32', 'n': '33', 'o': '34', 'p': '35', 'q': '41', 'r': '42', 's': '43', 't': '44', 'u': '45', 'v': '51', 'w': '52', 'x': '53', 'y': '54', 'z': '55' };
const decoder = { '11': 'a', '12': 'b', '13': 'c', '14': 'd', '15': 'e', '21': 'f', '22': 'g', '23': 'h', '24': 'i/j', '25': 'k', '31': 'l', '32': 'm', '33': 'n', '34': 'o', '35': 'p', '41': 'q', '42': 'r', '43': 's', '44': 't', '45': 'u', '51': 'v', '52': 'w', '53': 'x', '54': 'y', '55': 'z' };

TL:DR->需要弄清楚如何为解码polybius字符串的i/j异常使用.map函数

试试这些:

var txt=txt.toLowerCase().replace('j','i') 
var r='' 
for(var a=0;a0){ 
if(t.substr(0,1)==' '){ 
r+=' ' 
c=1 
} 

最新更新