Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript: find longest word in a string

Tags:

javascript

function longestWord(string) {
    var str = string.split(" ");
    var longest = 0;
    var word = null;
    for (var i = 0; i < str.length - 1; i++) {
        if (longest < str[i].length) {
            longest = str[i].length;
            word = str[i];
        }
    }
    return word;
}

When I call longestWord("Pride and Prejudice"), it returns 'Pride' and not 'Prejudice' which is the longest word... why? I checked some other similar questions, but the solutions looked a lot like my code.

like image 710
bard Avatar asked Jun 30 '13 03:06

bard


People also ask

How do I get the longest word in Javascript?

function findLongestWord(str) { var longestWord = str. split(' '). reduce(function(longest, currentWord) { return currentWord. length > longest.

How do you find the largest word in a sentence in Java?

println("Smallest word: " + small); System. out. println("Largest word: " + large);


1 Answers

That's because you're not comparing all the items in the array, you leave out the last one.

for (var i = 0; i < str.length - 1; i++)

should be

for (var i = 0; i < str.length; i++)

or

for (var i = 0; i <= str.length - 1; i++)
like image 179
Musa Avatar answered Oct 02 '22 16:10

Musa