¿Cómo encontrar la palabra más larga dentro de la string en JavaScript?

Dada una string y la tarea es encontrar la palabra más grande de la string usando JavaScript.

Ejemplo:

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"

Para lograr esto utilizamos los siguientes enfoques:

  1. Usando expresiones regulares y for..loop
  2. Usando el método dividir y ordenar()
  3. Usando el método dividir y reducir()
  4. Usando el método split y for…loop

Enfoque 1: uso de expresiones regulares y bucle for…. En este enfoque, usamos regex para dividir la string en una array de palabras usando regex /[a-zA-Z0-9]+/gi y luego usando for loop para iterar la array y buscar la string más grande.

Ejemplo 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>

Producción:

"geeksforgeeks"

Enfoque 2: utilizando el método split() y sort() . En este enfoque, dividimos la string con el método String.split() y ordenamos la array con el método Array.sort()

Ejemplo 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>

Producción:

"geeksforgeeks"

Enfoque 3: Usar el método split() y reduce() . En este enfoque, dividiremos la string usando el método String.split(), y usando el método reduce buscaremos el elemento más grande de la array, que es su string más grande.

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>

Producción:

"geeksforgeeks"

Enfoque-4: Usar split() y for…loop. En este enfoque, dividiremos la string y antes de eso, declararemos una string vacía para almacenar en ella la string más larga resultante. Además, usaremos una función de flecha y toda esta tarea se realizará solo bajo ella.

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...

Producción:

geeksforgeeks

Publicación traducida automáticamente

Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *