试图理解这个功能加密(消息)
trying to understand this function encryption(message)
这是一个将给定句子加密为国际莫尔斯电码的函数,输入和输出都将是字符串。字符之间用一个空格分隔。单词之间用三个空格隔开。例如,"HELLO WORLD"应该返回 -> ".... . .-.. .-..--- -- --- .-- -…-.."
提供了一个名为CHAR_TO_MORSE的预加载对象/字典/散列来帮助将字符转换为摩尔斯电码。
然而,我不明白为什么我们需要一个内循环的函数?
function encryption(message) {
var arr = message.split(" "); //I understand here we split the string into individual words
for(var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split(""); //then we use the loop to split the words further into characters?
for(var j = 0; j < arr[i].length; j++) { //but we need an inner loop here? what is the purpose of this j loop? is that necessary ?
arr[i][j] = CHAR_TO_MORSE[arr[i][j]]; //can’t we just use arr[i] CHAR_TO_MORSE[arr[i]]...I think I totally lost the logic here...
}
arr[i] = arr[i].join(" ");
}
arr = arr.join(" ");
return arr;
}
也,如果这个解决方案不是最优的,请提出一个更好的方案。
你有一个句子。你把它变成一个单词数组。你把每个单词变成一个字符数组。现在你有了一个字符数组的数组。
两个循环就可以了。循环遍历每个单词,内部循环遍历每个字符。
你仍然只"击中"每个字符一次,所以没有"重复"。
还有其他方法可以解决这个问题,你可以在原始代码中循环遍历每个字符,而不使用split。我不确定制作这些数组是否有很大的优势——但这并不是"错误的"。
相关文章:
- Ajax聊天消息重复而不仅仅是更新
- 如果localstorage为空,则显示欢迎消息
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 离开页面时弹出消息
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript消息系统加密
- 加载在JSBN中创建的RSA公钥,然后加密消息
- Websockets聊天消息加密与AES,Crypto.js和.NET
- 使用 XOR 密码加密我的 IM 消息流
- 加密 JS 在解密加密消息时引发的异常
- 在使用密码加密消息时,crypto-js 在内部使用的 AES 参数和步骤是什么
- 可以't使用gnupg(Ubuntu GPG通过PHP)解密openpgpjs(JS)加密的pgp消息
- 如何加密通过提交操作发送的表单数据消息
- 用PHP加密消息,用JavaScript解密
- 如何在Objective-C中使用OpenPGP.js加密/解密PGP消息
- 如何在node.js中解密使用Rijndael-256加密的消息
- 试图理解这个功能加密(消息)
- 尝试“加密”.使用javascript的消息
- Python:JSON可以用来向包含加密部分的Python服务器发送消息吗
- 使Javascript RSA消息加密给出相同的结果