Skip to content
Related Articles
Open in App
Not now

Related Articles

How to find the longest word within the string in JavaScript ?

Improve Article
Save Article
  • Last Updated : 06 Jan, 2023
Improve Article
Save Article

In this article, we are given a string and the task is to find the largest word from the string using JavaScript.

Example:

Input: "This is a demo String find the largest word from it"
Output: "largest"

Input:  "Hello guys this is geeksforgeeks where students learn programming"
Output: "geeksforgeeks"

To achieve this we use the following approaches:

  1. Using regex and for..loop
  2. Using split() and sort() method
  3. Using split() and reduce() method
  4. Using split() method and for…loop

Approach 1: Using regex and for…loop. In this approach, we use regex to split the string into an array of words by using the regex /[a-zA-Z0-9]+/gi and then using for loop iterate the array and search the largest string.

Example: This example uses the above-explained approach.

Javascript




<script>
    // Javascript program to search largest word from a string
     
    function longest(str){
    // Split the string using regex
    str = str.match(/[a-zA-Z0-9]+/gi);
    // Creating a empty string to store largest word
    let largest = "";
         
    // Creating a for...loop to iterate over the array
    for(let i = 0; i < str.length; i++){
        // If the i'th item is greater than largest string
        // then overwrite the largest string with the i'th value
        if(str[i].length > largest.length){
        largest = str[i]
        }
    }
    return largest;
    }
     
    console.log(longest("Hello guys this is geeksforgeeks where"+
                        " students learn programming"))
</script>


Output:

"geeksforgeeks"

Approach 2: By using the split() and sort() method. In this approach we split the string using the String.split() method and sort the array using the Array.sort() method. 

Example: This example uses the above-explained approach.

Javascript




<script>
    function longest(str){
    // Split the string into array
    str = str.split(" ")
    // Return the first sorted item of the Array
    return str.sort((a, b) => b.length - a.length)[0]
    }
     
     
    console.log(longest("Hello guys this is geeksforgeeks"+
                        " where students learn programming"))
</script>


Output:

"geeksforgeeks"

Approach 3: Using split() and reduce() methods. In this approach, we will split the string using the String.split() method, and by using the reduce method we search for the largest element of the array, which is your largest string.

Example: This example uses the above-explained approach.

Javascript




<script>
    function longest(str){
    // Split the string into array
    str = str.split(" ");
         
    // Get the index of largest item of the array
    let index = str.reduce((acc, curr, i)=>{
        if(curr.length > str[acc].length){
        return i
        }
        return acc;
    }, 0)
         
    return str[index];
    }
     
     
    console.log(longest("Hello guys this is geeksforgeeks"+
                        " where students learn programming"))
</script>


Output:

"geeksforgeeks"

Approach 4: Using split() and for…loop. In this approach, we will split the string and before that, we will declare an empty string in order to store the resulted from the longest string in it. Also, we will be using an arrow function and this whole task will be performed under it only.

Example: This example uses the above-explained approach.

Javascript




<script>
    // JavaScript code to for the above approach..
     
    let longestWord = (string) => {
      let stringg = string.split(" ");
      let longest = 0;
      let longest_word = null;
      for (let i = 0; i < stringg.length; i++) {
    if (longest < stringg[i].length) {
      longest = stringg[i].length;
      longest_word = stringg[i];
    }
      }
      return longest_word;
    };
     
    console.log(
      longestWord(
    "Hello guys this is geeksforgeeks where students learn programming"
      )
    );
</script>


Output:

geeksforgeeks

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!