Skip to content
Related Articles

Related Articles

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

View Discussion
Improve Article
Save Article
  • Last Updated : 23 Jun, 2022
View Discussion
Improve Article
Save Article

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 1:

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 2:

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() method. 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.

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 longest string in it. Also, we will be using an arrow function and this whole task will be performed under it only.

Javascript




// 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"
  )
);
 
// This code is contributed by Aman Singla...


Output:

geeksforgeeks

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!