¿Cómo obtener la string más larga en una array usando JavaScript?

La tarea es obtener la string más larga de la array. Aquí se analizan algunas de las técnicas más utilizadas con la ayuda de JavaScript. En este artículo, utilizaremos dos métodos de JavaScript, el método sort() y el método reduce() para encontrar la string más larga de la array. Ambos enfoques se describen a continuación con el ejemplo.

Enfoque 1: en este enfoque usaremos el método .sort() que llama a una función cada 2 elementos de la array. Toma ‘a’ y ‘b’ 2 argumentos y compara su longitud. Si la respuesta es positiva, entonces ‘b’ es mayor, de lo contrario, ‘a’ es mayor. Este método ordena los elementos en orden decreciente de su longitud y podemos acceder al primer elemento por [0].

  • Ejemplo: Este ejemplo implementa el enfoque anterior.

    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            How to get the longest string
            in an array using JavaScript ?
        </title>
          
        <style>
            body {
                text-align: center;
            }
            h1 {
                color: green;
            }
            #geeks{
                font-weight: bold;
            }
        </style>
    </head>
      
    <body>
        <h1>GeeksforGeeks</h1>
          
        <p>
            Click on the button to get the
            longest string in the array.<br>
            <b>Array = [
                    "A_Copmuter_Science_Portal", 
                    "GeeksforGeeks", 
                    "GFG", 
                    "geeks"
                ]
            </b>
        </p>
          
        <button onclick="gfg_Run()">
            Click Here
        </button>
          
        <p id="geeks"></p>
          
        <script>
            var el_down = document.getElementById("geeks");
              
            var arr = [
                "A_Copmuter_Science_Portal", 
                "GeeksforGeeks",
                "GFG", 
                "geeks"
            ];
              
            // It compares the length of an element with
            // every other element and after sorting
            // them in decreasing order it returns the
            // first element.
            function gfg_Run() {
                el_down.innerHTML = "'" + 
                        arr.sort(function(a, b) {
                    return b.length - a.length;
                })[0] + "' is the longest string"
                        + " in the array.";
            }
        </script>
    </body>
      
    </html>
  • Producción:

Enfoque 2: en este enfoque usaremos el método .reduce() que llama a una función en cada 2 elementos de la array. Toma ‘a’ y ‘b’ 2 argumentos y compara su longitud. Devuelve los elementos que tienen una longitud mayor que todos los elementos.

  • Ejemplo: Este ejemplo implementa el enfoque anterior.

    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            How to get the longest string
            in an array using JavaScript ?
        </title>
          
        <style>
            body {
                text-align: center;
            }
            h1 {
                color: green;
            }
            #geeks{
                font-weight: bold;
            }
        </style>
    </head>
      
    <body>
        <h1>GeeksforGeeks</h1>
          
        <p>
            Click on the button to get the
            longest string in the array.<br>
            <b>Array = [
                "A_Copmuter_Science_Portal", 
                "GeeksforGeeks", 
                "GFG", 
                "geeks"
                ]
            </b>
        </p>
          
        <button onclick="gfg_Run()">
            Click Here
        </button>
          
        <p id="geeks"></p>
          
        <script>
            var el_down = document.getElementById("geeks");
              
            var arr = [
                "A_Copmuter_Science_Portal", 
                "GeeksforGeeks",
                "GFG", 
                "geeks"
            ];
              
            // It compares the length of a element with
            // every other element and return it if its
            // greater than every other element.
            function gfg_Run() {
                    el_down.innerHTML = "'" + 
                    arr.reduce(function (a, b) { 
                        return a.length > b.length ? a : b; 
                    }) + "' is the longest string"
                        + " in the array."; 
                }
        </script>
    </body>
      
    </html>
  • Producción:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar 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 *