gpt4 book ai didi

Javascript 最后一个字母被 chop

转载 作者:行者123 更新时间:2023-11-28 15:37:23 26 4
gpt4 key购买 nike

好吧,基本上这段代码将一个句子传递给函数,函数需要找出最长的单词来返回。一切都很好,除了最后一个字母总是被切断。那么什么是解决这个问题的好方法呢?

    function LongestWord(sen) { 
sen = sen.toLowerCase();
var build = "";
var arr = [];
var longest = 0;
for(var i = 0; i < sen.length;i++){
var cur = sen.charCodeAt(i);
console.log(sen.charCodeAt(i))
if(i == sen.length - 1){

arr.push(build);
}
if(sen.charAt(i) === " "){
arr.push(build);
build = "";
}
if(cur >= 97 && cur <= 122){
build += String.fromCharCode(cur);
}
}
console.log(arr);
for(var e = 0; e < arr.length - 1;e++){
if(arr[e].length > arr[e + 1].length){

longest = arr[e];
}
else{
longest = arr[e + 1];
}
}
return longest;

}

// keep this function call here
// to see how to enter arguments in JavaScript scroll down
console.log(LongestWord("Johnny ErsoL"));

它返回“Johnny”,这是正确的,但这就是数组最后的样子。

[ 'johnny', 'erso' ]

最佳答案

这是我的建议?

function LongestWord(sen) {
return sen.split(/\b/).filter(function(item) {
return item.trim().length;
}).sort(function(a,b) {
return b.length - a.length;
});
}

在单词边界上分割句子,然后 trim 掉空格,最后按每个单词的长度排序并返回排序后的数组。

关于Javascript 最后一个字母被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com