虽然都是很简单的算法,每一个都只需5分钟摆布,但写起来总会碰到差别的小问题,愿望大家能跟我一同天天提高一点点。
更多的小算法演习,能够检察我的文章。
划定规矩
Using the JavaScript language, have the function LongestWord
(sen) take the sen parameter being passed and return the largest word in the string. If there are two or more words that are the same length, return the first word from the string with that length. Ignore punctuation and assume sen will not be empty.
运用JavaScript言语,让函数LongestWord
(sen)猎取通报的sen参数并返回字符串中的最大单词。如果有两个或多个长度雷同的单词,则返回该长度的字符串中的第一个单词。
ps: 疏忽字符串中标点符号并假定sen不会为空。
测试用例
Input:"fun&!! time"
Output:"time"
Input:"I love dogs"
Output:"love"
my code
function LongestWord(sen) {
var senList = sen.match(/[a-z0-9]+/gi);
var maxStr = ''
for(var i=0; i<senList.length; i++) {
if(maxStr.length < senList[i].length){
maxStr = senList[i]
}
}
// code goes here
return maxStr;
}
other code
code 1
function LongestWord(sen) {
var arr = sen.match(/[a-z0-9]+/gi);
var sorted = arr.sort(function(a, b) {
return b.length - a.length;
});
return sorted[0];
}
code 2
function LongestWord(sen) {
return sen.match(/[a-z0-9]+/gi).reduce((item, next) => item.length >= next.length ? item : next);
}
思绪
1.经由过程match过滤字符串,并把字符串依据空格符转换成字符串数组
2.经由过程轮回把猎取字符串数组中的长度最长的字符串