在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
您可以获取字符串的代码并使用它进行排序 这种方法使用一个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));在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:“-
.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();
});