找到字符串中最长的单词

时间:2017-05-21 03:27:26

标签: javascript jquery

目前正在试图找出如何找到字符串中最长的单词,而我的研究已经让我找到了某个地方。我在SO上找到了一个代码,显示了最长单词中的字母数量

实施例

function longest(str) {
  var words = str.split(' ');
  var longest = 0;

  for (var i=0;i<words.length;i++) {
    if (words[i].length > longest) {
      longest = words[i].length;
    }
  }
  return longest;
}
longest("This is Andela");

//This returns 6

如何编辑此代码,使其返回单词而不是字母数量。这就是

//Returns Andela instead of 6

考虑到我也是javascript的新手

3 个答案:

答案 0 :(得分:1)

我认为最简单的解决方案是拆分,按长度排序数组,然后选择数组的第一个元素。

function longest(str) { 

 var arr = str.split(" ");

 var sorted = arr.sort(function (a,b) {return b.length > a.length;});

return sorted[0];

}

如果你想要长度,只需添加.length以返回已排序的[0]。

答案 1 :(得分:0)

你去了:

public int getIntInput(int range) {
    Scanner intReader = new Scanner(System.in);
    int currentInput = intReader.nextInt();
    if(currentInput > 0 && currentInput < range){
        return currentInput;
    }
}

答案 2 :(得分:0)

我推荐这种方法:

function LongestWord(text) {
    return text
              .split(/\s+/)
              .reduce(function (record, word) {
                  if (word.length > record.length)
                      record = word;
                  return record;
              }, '');
}
console.log(LongestWord('It is obvious which is the longest word.'));

如果要返回最长单词的长度,只需在返回的末尾添加.length。