Javascript:编写返回字符串中最长单词的函数。没有使用jquery
这是我第一次在这里发帖,我之所以这么做,是因为我已经在各地进行了研究。有一些问题编码类似,但他们没有找到合适的方法来帮助我Javascript:编写返回字符串中最长单词的函数。没有使用jquery,javascript,arrays,function,nested-loops,Javascript,Arrays,Function,Nested Loops,这是我第一次在这里发帖,我之所以这么做,是因为我已经在各地进行了研究。有一些问题编码类似,但他们没有找到合适的方法来帮助我 var-station=“沙塔克是最好的” 变量最长=函数(str){ var strArr=str.split(“”); 对于(变量i=0;i0){//请确保我们有一个字符串 var strArr=str.split(“”;//在空间上拆分 对于(var i=0;ilen){//如果新长度更长 lon=i;//保存索引 len=strArr[i].length;//覆盖
var-station=“沙塔克是最好的”
变量最长=函数(str){
var strArr=str.split(“”);
对于(变量i=0;istrArr[j].length){
横向拼接(j,1);
}否则{
j=0
}
}
}
回程带
};
最长(刑期);
//应该返回Shattuck,但我遇到了无限循环问题。
对于不支持try的浏览器
var-station=“沙塔克是最好的”
var lon=-1,len=0,longest=function(str){
如果(str.length>0){//请确保我们有一个字符串
var strArr=str.split(“”;//在空间上拆分
对于(var i=0;ilen){//如果新长度更长
lon=i;//保存索引
len=strArr[i].length;//覆盖保存的长度
}
}
return strArr[lon];//返回最长的
}
};
变量词=最长(句子);
alert(word)
数组方法是我将采用的一种有趣的方法
var sentence = "The Shattuck is the best"
var words = sentence.split(" ")
words.reduce(function(a, b) {return a.length > b.length ? a : b})
// returns "Shattuck"
您始终可以根据字长对数组进行排序,并向程序询问第一个值
var Words = ["The", "Shattuck", "is", "the", "best"],
sort = Words.sort(function (a, b) {
return a.length < b.length;
});
console.log(sort);
console.log(sort[0]);
var Words=[“The”、“Shattuck”、“is”、“The”、“best”],
排序=单词。排序(函数(a,b){
返回a.length
我之所以重新打开,是因为OP试图解决的根本问题是不同的,存在着对for循环的滥用,忽略了最后一个字,而这里是一个“无限循环”(显然)。不过,我很可能是错误的,我没有意识到我有一把金锤,用来解决我自己没有解决的问题。谢谢大卫,我从姆普隆詹那里得到了一些好信息