Javascript:从数组中查找最长的名称

标签 javascript if-statement

我正在尝试学习 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/

相关文章:

javascript - API 在浏览器上工作,但在带有 phonegap 的设备上不工作

batch-file - 如何使变量为真并检查变量是否为真?

c - 如果使用结构体或指针作为 C 中 if 语句的参数,如何确定 true 或 false 结果?

javascript - 在不确定对象中的所有字段是否存在的情况下如何映射对象数组?

R: dplyr 管道条件超前/滞后使用 ifelse 具有意外行为

Javascript定时器切换功能

javascript - NetSuite Suitelet 文件输出

javascript - 使用javascript的动态下拉按钮

javascript - 以 CKEDITOR.ENTER_BR 模式列出项目

带有 IF 语句的 MySQL VIEW