To find the longest word within the string in JavaScript we will compare the counts to determine which word has the most characters and return the length of the longest word.
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"
We can use the following approaches to find the longest word within the string in JavaScript:
Table of Content
Using regex and for…loop
Here, 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 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"
)
); |
geeksforgeeks
By using the split() and sort() method
Here, 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.
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" ))
|
geeksforgeeks
Approach 3: Using split() and reduce() methods
Here, 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.
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"
)
); |
geeksforgeeks
Using split() and for…loop
Here, 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 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"
)
); |
geeksforgeeks
Using sort() method
To find the longest word within a string in JavaScript using the sort
method, you can follow these steps:
- Split the string into an array of words.
-
Use the
sort
method to sort the array based on the length of each word. - Retrieve the last (or first, depending on the sorting order) element of the sorted array, as it will be the longest word.
Example: Here, the findLongestWord
function takes an input string, splits it into an array of words, sorts the array based on the length of each word in descending order, and then returns the longest word.
function findLongestWord(inputString) {
// Step 1: Split the string into an array of words
const wordsArray = inputString.split(/\s+/);
// Step 2: Sort the array based on word length
const sortedWords = wordsArray.sort( function (a, b) {
return b.length - a.length; // Sort in descending order by word length
});
// Step 3: Retrieve the longest word (first element after sorting)
const longestWord = sortedWords[0];
return longestWord;
} // Example usage: const inputString = "JavaScript is an awesome programming language" ;
const result = findLongestWord(inputString); console.log( "Longest word:" , result);
|
Longest word: programming