Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中按字母顺序排列摩尔斯电码 var-morseCode={ “A”:“…”, “B”:“—……”, “C”:“-.-”, “D”:“…”, “E”:“, “F”:“.-”, “G”:“…”, “H”:“…”, “我”:“…”, “J”:“--”, “K”:“-.-”, “L”:“-…”, “M”:“--”, “N”:“-.”, “O”:--”, “P”:“…”, “Q”:“-.-”, “R”:“…-”, “S”:“…”, “T”:“T”, “U”:“.-”, “W”:“…”, “X”:“-…-”, “Y”:“-.-”, “Z”:--……” } 函数longestMorseCodeWords(word) { var convertWord=word.toUpperCase(); convertWord=convertWord.split(“”); 对于(var i=0;i_Javascript - Fatal编程技术网

在Javascript中按字母顺序排列摩尔斯电码 var-morseCode={ “A”:“…”, “B”:“—……”, “C”:“-.-”, “D”:“…”, “E”:“, “F”:“.-”, “G”:“…”, “H”:“…”, “我”:“…”, “J”:“--”, “K”:“-.-”, “L”:“-…”, “M”:“--”, “N”:“-.”, “O”:--”, “P”:“…”, “Q”:“-.-”, “R”:“…-”, “S”:“…”, “T”:“T”, “U”:“.-”, “W”:“…”, “X”:“-…-”, “Y”:“-.-”, “Z”:--……” } 函数longestMorseCodeWords(word) { var convertWord=word.toUpperCase(); convertWord=convertWord.split(“”); 对于(var i=0;i

在Javascript中按字母顺序排列摩尔斯电码 var-morseCode={ “A”:“…”, “B”:“—……”, “C”:“-.-”, “D”:“…”, “E”:“, “F”:“.-”, “G”:“…”, “H”:“…”, “我”:“…”, “J”:“--”, “K”:“-.-”, “L”:“-…”, “M”:“--”, “N”:“-.”, “O”:--”, “P”:“…”, “Q”:“-.-”, “R”:“…-”, “S”:“…”, “T”:“T”, “U”:“.-”, “W”:“…”, “X”:“-…-”, “Y”:“-.-”, “Z”:--……” } 函数longestMorseCodeWords(word) { var convertWord=word.toUpperCase(); convertWord=convertWord.split(“”); 对于(var i=0;i,javascript,Javascript,您可以获取字符串的代码并使用它进行排序 这种方法使用一个iterable,如字符串,将单个字母作为数组,并使用以下函数执行映射。此函数获取字符的代码。最后,代码与字符串连接以分离莫尔斯电码字符 函数getMorseCode(word){ 返回Array.from(word.toUpperCase(),c=>morseCode[c]).join(“”); } var morseCode={A:“-”,B:“-”,C:“-”,D:“-”,E:“,F:”,G:“-”,H:“…”,I:“…”,J:“-

您可以获取字符串的代码并使用它进行排序

这种方法使用一个iterable,如字符串,将单个字母作为数组,并使用以下函数执行映射。此函数获取字符的代码。最后,代码与字符串连接以分离莫尔斯电码字符

函数getMorseCode(word){ 返回Array.from(word.toUpperCase(),c=>morseCode[c]).join(“”); } var morseCode={A:“-”,B:“-”,C:“-”,D:“-”,E:“,F:”,G:“-”,H:“…”,I:“…”,J:“-”,K:“-”,L:“-”,M:”,N:“,”,O:“-”,P:“,Q:“-”,R:“,”,S:“,”,T:”,U:“,”,W:“,”,X:“,”,Y:“,”,“,”,“,”,”,“,”,”; console.log(getMorseCode('sos')); log(['hello','apple','ball'].map(getMorseCode)); console.log(['hello','apple','ball'].sort((a,b)=>getMorseCode(a.length-getMorseCode(b.length));
.as控制台包装{最大高度:100%!重要;顶部:0;}
扩展对象总是可能的,如果不是更好的话:)


无需使用
convertWord.split(“”
。您可以使用
[i]
符号访问字符串的字符。将其拆分为两个函数。一个函数将单个字符串转换为莫尔斯电码。然后您可以使用
.map()调用该函数
转换数组。最后,您可以按莫尔斯电码的长度对结果进行排序。如果您想返回原始文本,可以将其设置为对象数组,如
{text:“hello”,Morse:“…-…-…-”}
你完全可以自己在这里做更多的研究,看起来你可以直接做。当我想发布一些东西时,你的答案已经在那里了-)
var morseCode = {
  "A": ".-",
  "B": "-...",
  "C": "-.-.",
  "D": "-..",
  "E": ".",
  "F": "..-.",
  "G": "--.",
  "H": "....",
  "I": "..",
  "J": ".---",
  "K": "-.-",
  "L": ".-..",
  "M": "--",
  "N": "-.",
  "O": "---",
  "P": ".--.",
  "Q": "--.-",
  "R": ".-.",
  "S": "...",
  "T": "-",
  "U": "..-",
  "W": ".--",
  "X": "-..-",
  "Y": "-.--",
  "Z": "--.."
}

function longestMorseCodeWords(word)
{
 var convertWord = word.toUpperCase();
 convertWord = convertWord.split("");
 for (var i = 0 ; i<convertWord.length ; i++)
  {
   convertWord[i] = morseCode[convertWord[i]];
  }
 convertWord = convertWord.join(" ");
 return convertWord

}

longestMorseCodeWords('a');
var morseCode = {
    "A": ".-",
    "B": "-...",
    "C": "-.-.",
    "D": "-..",
    "E": ".",
    "F": "..-.",
    "G": "--.",
    "H": "....",
    "I": "..",
    "J": ".---",
    "K": "-.-",
    "L": ".-..",
    "M": "--",
    "N": "-.",
    "O": "---",
    "P": ".--.",
    "Q": "--.-",
    "R": ".-.",
    "S": "...",
    "T": "-",
    "U": "..-",
    "W": ".--",
    "X": "-..-",
    "Y": "-.--",
    "Z": "--.."
  }

String.prototype.toMorse = function() {
  return this.replace(/a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z/gi, function(char){
    return morseCode[char.toUpperCase()];
  });
}

String.prototype.morseLength = function() {
  return this.toMorse().length;
}

["ball", "apple", "hello"].sort(function(e1, e2){
  return e1.morseLength() - e2.morseLength();
});