我正在尝试学习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字母。&#34; 但我不明白如何设置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
答案 0 :(得分:0)
+1 @Pointy的评论。
@Joseph梦想家的答案是一个非常好的答案(最好的?),但对初学者来说可能有点复杂。回想Pointy的评论。你会怎么做?一个循环。你还需要什么?存储的值。最后,您需要比较存储值的长度与循环中的当前值,如果当前值较长,则更新存储的值。
现在,约瑟夫的reduce
答案几乎就是这样,但非常优雅(除非你已经习惯了,否则通常难以理解)。首先尝试使用基本的for循环来完成此操作。当你&#34;得到&#34;循环,您将更好地理解reduce
解决方案(另外,您可能需要阅读conditional ternary operators
以更好地理解reduce
解决方案。)
剧透:http://jsfiddle.net/v7wvg7ns/
(我不能在没有代码的情况下链接小提琴,所以这里有一些代码)
// Ignore this
答案 1 :(得分:0)
function longFriend(arr){
var long = arr[0];
for (let i = 0; i < arr.length; i++) {
const element = arr[i];
if( long.length < element.length){
long = element
}
}
return long
}
var friend = ["abir","abdullah","robin","abdurrohim","ali"]
var longword = longFriend(friend)
console.log(longword)