我正在尝试学习 javascript,而且才刚刚开始。
所以我创建了自己的项目。我有一系列河流,想要比较它们名称的长度。
我知道它不是以代码形式编写的 - 从我开始 - 我喜欢用英语写我必须做的事情。
我不确定如何使用如此大的比较来设置 if/else 语句。
任何人都可以帮助我完成第 3 步,为我指明正确的方向,而不用填鸭式地给我答案吗?
谢谢!
第 1 步 - 列出河流名称
第 2 步 - 列出河流名称长度
第 3 步 - 列出最长的河流并列出名称中的字母数量
第 4 步 - 列出最短的河流并列出字母数
第 5 步 - 列出最长和最短之间的字母数差 ~ Modulo
/第 1 步/ - 完成
var rivers = ["Mississippi","Delaware","Ohio","Sangamon","Black","Current","Chattahochee"];
for (var i = 0; i < rivers.length; i++) {
console.log("An interesting "+rivers[i]+" River fact:")
;
/第 2 步/ - 完成
console.log("The "+rivers[i]+" River's name contains "+ (rivers[i].length)+" letters in it.")
;
}
/第 3 步/ 这里我想比较字母字符串来找到数组中最长的名称。然后我想要输出 说“名字最长的河流是 X 河,它有 Y 字母。” 但我不明白如何设置 if-else 语句。
for (var i = 0; i < rivers.length; i++) {
If A.length > B.length Keep A else keep B
If A.length > C.length Keep A else keep C
If B.length > C.length Keep B else keep C
If A.length > D.length Keep A else keep D
If B.length > D.length Keep B else keep D
If C.length > D.length Keep C else keep D
If A.length > E.length Keep A else keep E
If B.length > E.length Keep B else keep E
If C.length > E.length Keep C else keep E
If D.length > E.length Keep D else keep E
If A.length > F.length Keep A else keep F
If B.length > F.length Keep B else keep F
If C.length > F.length Keep C else keep F
If D.length > F.length Keep D else keep F
If E.length > F.length Keep E else keep F
If A.length > G.length Keep A else keep G
If B.length > G.length Keep B else keep G
If C.length > G.length Keep C else keep G
If D.length > G.length Keep D else keep G
If E.length > G.length Keep E else keep G
If F.length > G.length Keep F else keep G
最佳答案
你的思路是对的,但你想得太多了;循环时只需跟踪最长的一个即可。如果您发现更长的内容,请更新它。我什至会为您对此进行伪编码,以便您可以看到:
myfunc() {
var longest = "";
for <all your things> {
if <thing>.length > longest {
longest = thing
}
}
//longest contains our longest thing!
//you can get the length by doing longest.length
}
关于Javascript:从数组中查找最长的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488091/