Javascript 句子代码中最长的单词不起作用
谁能帮我解决这个问题。它似乎工作不正常。它应该在输入的任何字符串中找到最长的单词。当我运行它时,它返回字符串的第一个字符Javascript 句子代码中最长的单词不起作用,javascript,string,for-loop,split,Javascript,String,For Loop,Split,谁能帮我解决这个问题。它似乎工作不正常。它应该在输入的任何字符串中找到最长的单词。当我运行它时,它返回字符串的第一个字符 function LongestWord(sen) { var lrg = ''; sen.split(" ");//seperates sen into words for(var i = 0;i<sen.length;i++){ var check1 = sen[i];//assigns check1 as word in sen
function LongestWord(sen) {
var lrg = '';
sen.split(" ");//seperates sen into words
for(var i = 0;i<sen.length;i++){
var check1 = sen[i];//assigns check1 as word in sen
if(check1.length>lrg.length){//assigns length of longest word
lrg = check1;
}
}
return lrg;
}
// keep this function call here
// to see how to enter arguments in JavaScript scroll down
LongestWord(readline());
该方法返回一个新数组。试试这个:
var arr = sen.split(" ");
for(var i = 0; i < arr.length; i++) {
var check1 = arr[i];
if(check1.length>lrg.length) {
lrg = check1;
}
}
return lrg;
该方法返回一个新数组。试试这个:
var arr = sen.split(" ");
for(var i = 0; i < arr.length; i++) {
var check1 = arr[i];
if(check1.length>lrg.length) {
lrg = check1;
}
}
return lrg;
您还可以使用正则表达式检查字符串是否匹配
var sentence = "seperates sen into words";
var splittedParts = sentence.match(/\w{1,}/gi);//You can also make use of regular //expression
for(var i = 0; i < splittedParts.length; i++) {
var check1 = splittedParts[i];
if(check1.length>=splittedParts.length) {
splittedParts = check1;
}
}
alert(splittedParts);
您还可以使用正则表达式检查字符串是否匹配
var sentence = "seperates sen into words";
var splittedParts = sentence.match(/\w{1,}/gi);//You can also make use of regular //expression
for(var i = 0; i < splittedParts.length; i++) {
var check1 = splittedParts[i];
if(check1.length>=splittedParts.length) {
splittedParts = check1;
}
}
alert(splittedParts);
如果您匹配单词并按长度排序,最长优先 数组中的第一个字将是最长的
function longestWord(str){
return str.match(/[a-zA-Z]+/g).sort(function(a, b){
if(a.length=== b.length) return a<b? 1: a>b? -1: 0;
return b.length-a.length;
})[0];
}
var s1= 'It\'s more like it is today, than it ever was before.';
longestWord(s1)
/*返回值:字符串:before*/
可以使用筛选器返回相同长度的数组-
function longestWords(str){
return str.match(/[a-zA-Z]+/g).sort(function(a, b){
if(a.length=== b.length) return a<b? 1: a>b? -1: 0;
return b.length-a.length;
}).filter(function(w, i, A){
return w.length=== A[0].length;
});
}
var s1= 'It became more like it is today, than it ever did before.';
longestWords(s1)
/*返回值:Array:before,变成*/如果匹配单词并按长度排序,则最长优先 数组中的第一个字将是最长的
function longestWord(str){
return str.match(/[a-zA-Z]+/g).sort(function(a, b){
if(a.length=== b.length) return a<b? 1: a>b? -1: 0;
return b.length-a.length;
})[0];
}
var s1= 'It\'s more like it is today, than it ever was before.';
longestWord(s1)
/*返回值:字符串:before*/
可以使用筛选器返回相同长度的数组-
function longestWords(str){
return str.match(/[a-zA-Z]+/g).sort(function(a, b){
if(a.length=== b.length) return a<b? 1: a>b? -1: 0;
return b.length-a.length;
}).filter(function(w, i, A){
return w.length=== A[0].length;
});
}
var s1= 'It became more like it is today, than it ever did before.';
longestWords(s1)
/*返回值:Array:before,before*/split不会变异原始字符串。split不会变异原始字符串。