我正在尝试查找数组中最短的单词。我正在使用此代码
function findShortestWord(str) {
var strSplit = str.split(' ');
var shortestWord = 0;
for(var i = 0; i < strSplit.length; i++){
if(strSplit[i].length > shortestWord){
shortestWord = strSplit[i].length;
}
}
return shortestWord;
}
实际上找到最长的单词。我只需要更改它以找到最小的单词。我在弄清楚将shortestWord变量设置为什么以及如何在if语句上实现它方面遇到困难
答案 0 :(得分:0)
function findShortestWord(str) {
var strSplit = str.split(' ');
var shortestWord = strSplit[0].length;
for(var i = 0; i < strSplit.length; i++){
if(strSplit[i].length < shortestWord){
shortestWord = strSplit[i].length;
}
}
return shortestWord;
}
只需抓住列表中的第一个单词,并将其设置为当前的“最短长度”即可。比较所有其他字词以最短的长度,并随时进行更新。目前,这只会显示第一个最短的单词,而不是该长度的所有单词。
答案 1 :(得分:0)
如果有条件,您的代码将返回最大的数字。使用<
代替>
并正确初始化返回变量。发布以下更正的解决方案:
function findShortestWord(str) {
var strSplit = str.split(' ');
var shortestWord = strSplit[0].length;
for(var i = 0; i < strSplit.length; i++){
if(strSplit[i].length < shortestWord){
shortestWord = strSplit[i].length;
}
}
return shortestWord;
}