伙计们,我试图找出输入的句子中最长的word,但是代码未输出任何内容。 smb可以帮我吗?

<!DOCTYPE html>
<html>
<head lang = "en">
    <meta charset = "UTF-8">
    <title>LongestWord</title>
</head>
<body>
<script language = "Javascript" type = "text/javascript">
    var sentence = prompt("Enter sentence: ");
    var splitted = sentence.split("\\s+");
    var longestWord = splitted[0];

    for(var i = 0; i < splitted.length; i++){
        for(var j = 0; j < splitted[i].length - 1; j++){
            if(longestWord.length < splitted[i].length){
                longestWord = splitted[i];
            }

        }
    }
    document.write("The longest word in the sentence is " + longestWord);
</script>
</body>
</html>

最佳答案

将您的正则表达式代码更改为:

var splitted = sentence.split(/\s+/);


编辑:下面是对该函数的稍有不同:

function longestWord(str) {
    return str.split(/\s+/).sort(function(w1, w2) {return w2.length - w1.length;})[0];
}

var phrase = "dmitriy nesterkin drd";
console.log(longestWord(phrase));

关于javascript - 将句子分成单词数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31105452/

10-12 04:12