如何在Javascript中查找数组中最短单词的长度?

如何在Javascript中查找数组中最短单词的长度?,javascript,Javascript,我想在数组中找到最短的单词。我正在使用这个代码 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;

我想在数组中找到最短的单词。我正在使用这个代码

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;
}
函数findshortword(str){
var strSplit=str.split(“”);
var最短字=0;
对于(变量i=0;i最短字){
shortestWord=strSplit[i]。长度;
}
}
返回最短的单词;
}
它实际上找到了最长的单词。我只需要把它改一下,找到最小的单词。我很难确定将shortestWord变量设置为什么,以及如何在if语句中实现它

函数findShortestWord(str){
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;
}
var strSplit=str.split(“”); var shortestWord=strSplit[0]。长度; 对于(变量i=0;i

只需抓取列表中的第一个单词,并将其设置为当前的“最短长度”。将所有其他单词与您的最短长度进行比较,并在进行时进行更新。目前,这将只显示第一个最短的单词,而不是该长度的所有单词。

由于您的if条件,您的代码返回的数字最大。使用
并正确初始化返回变量。发布解决方案并更正如下:

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;
}
函数findshortword(str){
var strSplit=str.split(“”);
var shortestWord=strSplit[0]。长度;
对于(变量i=0;i
您能准确解释一下strSplit[0].length的工作原理吗?strSplit[0]只获取数组中的第一个元素(索引0处的元素)。如果遇到任何问题,请告诉我。@faizan_khan98 strSplit是由
str.split('')创建的数组
它将根据空格分隔单词并将它们存储到strSplit数组中。这意味着
strSplit[0]
包含句子的第一个单词,而
strSplit[0]。length
将给出第一个单词的长度。然后我们迭代数组以查看是否存在任何较小长度的数字?如果是,则替换
shortestWord
变量并继续迭代数组。