Javascript 试图理解此函数加密(消息)

Javascript 试图理解此函数加密(消息),javascript,encryption,Javascript,Encryption,这是一个将给定句子加密为国际莫尔斯电码的函数,输入和输出都是字符串。 字符由单个空格分隔。单词之间用三重空格隔开。 例如,“HELLO WORLD”应返回->“…-…-…-…-…-…-…-” 提供了一个名为CHAR_TO_MORSE的预加载对象/字典/散列,以帮助将字符转换为MORSE码 但是,我不明白为什么我们需要函数中的内部循环 function encryption(message) { var arr = message.split(" "); /

这是一个将给定句子加密为国际莫尔斯电码的函数,输入和输出都是字符串。 字符由单个空格分隔。单词之间用三重空格隔开。 例如,“HELLO WORLD”应返回->“…-…-…-…-…-…-…-”

提供了一个名为CHAR_TO_MORSE的预加载对象/字典/散列,以帮助将字符转换为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;
}
函数加密(消息){
var arr=message.split(“”;//我知道这里我们将字符串拆分为单个单词
对于(var i=0;i

此外,如果此解决方案不是最优的,请建议一个更好的解决方案

你有一个句子。你把它做成一个单词数组。您可以将每个单词组成一个字符数组。现在您有了一个字符数组

两圈就可以了。在每个单词上循环,在内部循环每个字符

您仍然只“命中”每个角色一次,因此没有“重复”


还有其他方法可以解决这个问题,你可以在原稿中的每个角色上循环,而不使用拆分。我不确定制作这些阵列是否有很大的优势,但这并不是“错误的”。

你有一句话要说。你把它做成一个单词数组。您可以将每个单词组成一个字符数组。现在您有了一个字符数组

两圈就可以了。在每个单词上循环,在内部循环每个字符

您仍然只“命中”每个角色一次,因此没有“重复”


还有其他方法可以解决这个问题,你可以在原稿中的每个角色上循环,而不使用拆分。我不确定制作这些阵列是否有很大的优势,但这并不是“错误的”。

你有一句话要说。你把它做成一个单词数组。您可以将每个单词组成一个字符数组。现在您有了一个字符数组

两圈就可以了。在每个单词上循环,在内部循环每个字符

您仍然只“命中”每个角色一次,因此没有“重复”


还有其他方法可以解决这个问题,你可以在原稿中的每个角色上循环,而不使用拆分。我不确定制作这些阵列是否有很大的优势,但这并不是“错误的”。

你有一句话要说。你把它做成一个单词数组。您可以将每个单词组成一个字符数组。现在您有了一个字符数组

两圈就可以了。在每个单词上循环,在内部循环每个字符

您仍然只“命中”每个角色一次,因此没有“重复”


还有其他方法可以解决这个问题,你可以在原稿中的每个角色上循环,而不使用拆分。我不确定制作这些数组是否有很大的优势,但这并不是“错误的”。

如果像霍根这样的答案是你期望的答案,也许更合适。内环用于在一个单词内的莫尔斯电码之间添加空格。您可以通过将
消息
拆分为
'
,但在单词内和单词之间添加空格需要更多的代码。如果像霍根这样的答案是您期望的答案,可能更合适。内循环用于在单词内的莫尔斯电码之间添加空格。您可以通过将
消息
拆分为
'
,但在单词内和单词之间添加空格需要更多的代码。如果像霍根这样的答案是您期望的答案,可能更合适。内循环用于在单词内的莫尔斯电码之间添加空格。您可以通过将
消息
拆分为
'
,但在单词内和单词之间添加空格需要更多的代码。如果像霍根这样的答案是您期望的答案,可能更合适。内循环用于在单词内的莫尔斯电码之间添加空格。您可以通过将
消息
拆分为
'
,但在单词内部和单词之间添加空格需要更多的代码。