我试图在字符串中找到最长的单词,但它会不断返回第一个单词的长度.有任何想法吗?
这是我的代码:
function findLongestWord(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;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
这是我是如何做到的(我附上了一个评论的长版和一个未评论的短版):
/***************
* LONG VERSION *
***************/
function findLongestWord(str) {
// Create an array out of the string
var arr = str.split(' ');
// Sort the array from shortest to largest string
arr = arr.sort(function(a, b) {
return a.length-b.length;
});
// The longest string is now at the end of the array
// Get the length of the longest string in the Array
var longestString = arr.pop().length;
// return the lenght of the longest string
return longestString;
}
/*****************
* SHORT VERSION *
****************/
function findLongestWord(str) {
return str
.split(' ')
.sort(function(a, b) { return a.length-b.length; })
.pop().length;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7384 次 |
| 最近记录: |