【发布时间】:2019-05-16 01:23:32
【问题描述】:
这是一个关于条件的问题。现在,我搜索并看到了另一种(正确)的方法。但我就是不明白为什么我的方法行不通。:
问题:编写一个名为“getLongestOfThreeWords”的函数。
给定 3 个单词,“getLongestOfThreeWords”返回三个单词中最长的一个。
注意事项:
如果有平局,它应该返回平局中的第一个单词。
我理解“正确”的方式,但我的答案显示为“未定义”,似乎无法弄清楚原因..
"My way"
function getLongestOfThreeWords(word1, word2, word3) {
if(word1.length > word2.length && word1.length > word3.length){
return word1;
} else if(word2.length > word1.length && word2.length > word3.length){
return word2;
} else if (word3.length > word1.length && word3.length > word2.length){
return word3;
}
}
对
"correct way"
function getLongestOfThreeWords(word1, word2, word3) {
let wordsArr = [word1, word2, word3];
let longestWord = '';
for (var i = 0; i < wordsArr.length; i++) {
if (wordsArr[i].length > longestWord.length) {
longestWord = wordsArr[i];
}
}
return longestWord;
}
var output = getLongestOfThreeWords('these', 'three', 'words');
console.log(output); // --> 'these'
【问题讨论】:
标签: javascript arrays string ecmascript-6