Javascript 我怎么能缩短这个?
我试图自学编程,从javascript开始。为了了解更多信息,我一直在完成练习的挑战,其中一个挑战是编写一个脚本,确定单词在一个重复字母最多的字符串中的第一个大小写。我可以用我编写的代码来完成它:Javascript 我怎么能缩短这个?,javascript,for-loop,while-loop,Javascript,For Loop,While Loop,我试图自学编程,从javascript开始。为了了解更多信息,我一直在完成练习的挑战,其中一个挑战是编写一个脚本,确定单词在一个重复字母最多的字符串中的第一个大小写。我可以用我编写的代码来完成它: string=“嘿,我相信”; string=string.split(“”); stringarray=[]; 最长长度=0; 对于(i=0;i
string=“嘿,我相信”;
string=string.split(“”);
stringarray=[];
最长长度=0;
对于(i=0;i最长长度){
longestlength=字符串[i]。长度;
longestword=string[i];
}
}
对于(x=0;x
但是要获得挑战赛的所有可能分数,必须在10分钟内完成,这花了我25分钟。所以我的问题是我是否把事情复杂化了;导致我写的脚本比需要的长得多?我读过一些关于正则表达式之类的东西,以及它们如何真正缩短脚本长度和编写它们所需的时间,这些或其他技术可能比我所做的所有循环更有用?var words=“heyyyy我相信”。split(“”);//将单词分成一个数组
var words = "Heyyyyy I believe".split(' '); // split the words into an array
var values = [], // total of times that a letter appears
k = 0, // 'global' counter. I'm using this to iterate over the values array
heigher = 0, // holds de heigher occurrence of a letter
letter = ""; // the letter that most appears in that word
word = ""; // the word
// iterate over all the words
for(var i = 0; i < words.length; i++) {
// iterate over each letter in each word
for(var j = 0; j < words[i].length; j++) {
// holds the occurrence time
// RegEx: get the word in the position 'i' and check how many times the letter appears on the position [j] appears
values[k] = words[i].match(new RegExp(words[i][j],'g')).length;
// check if the next letter appears more times than the previous one
if(values[k] > heigher) {
// hold the values of interest
heigher = values[k];
letter = words[i][j];
word = words[i];
}
k++;
}
}
console.log("word: " + word + " letter: " + letter + " total: " + heigher);
var values=[],//字母出现的总次数
k=0,/“全局”计数器。我用它来迭代数组中的值
heigher=0,//保存字母的de heigher匹配项
字母=”;/这个词中出现最多的字母
word=”“;/字眼
//重复所有单词
对于(var i=0;iheigher){
//持有感兴趣的价值观
heigher=值[k];
字母=字[i][j];
单词=单词[i];
}
k++;
}
}
控制台日志(“单词:+word+”字母:+letter+”总计:+heigher);
jsfiddle:
评论了这个问题。希望它能有所帮助:)如果代码按原样运行良好,而您只是在寻找更简洁的编写方法,那么考虑到您从未实际使用过
longestlength
和longestword
的最终值,您可以去掉该循环和那些变量。这是什么意思“最重复的字母”无论如何,从周日开始,我可以用10种方式来解释它。哦,哇,这确实帮了我很大的忙!它让我更好地理解了RegExp是多么有用。