JavaScript RangeError: longitud de array no válida

Esta excepción de JavaScript Longitud de array no válida se produce cuando se crea un Array o un ArrayBuffer con una longitud de array negativa o mayor o igual a 2 32. También puede ocurrir si la propiedad de longitud se establece manualmente en un valor negativo o mayor que igual a 2 32 .

Mensaje:

RangeError: Array length must be a finite positive integer (Edge)
RangeError: invalid array length (Firefox)
RangeError: Invalid array length (Chrome)
RangeError: Invalid array buffer length (Chrome)

Tipo de error:

RangeError

Causa del error: la longitud de un Array o un ArrayBuffer solo se puede representar mediante un número entero de 32 bits sin signo, que solo almacena valores que van de 0 a 2 32 -1. Al crear una array o un ArrayBuffer, si la longitud de la array es negativa o mayor o igual a 2 32   , se produce este error. 

Ejemplo 1: en este ejemplo, la propiedad de longitud se establece en 6, que es un valor válido, por lo que no se produjo ningún error.

HTML

<!DOCTYPE html>
<html>
    <head>
        <script src=
"https://code.jquery.com/jquery-3.5.0.js">
        </script>
    </head>
    <body style="text-align: center;">
        <h1 style="color: green;">
            GeeksforGeeks
        </h1>
  
        <p>
            JavaScript RangeError 
            Invalid array length
        </p>
  
        <button onclick="Geeks();">
            click here
        </button>
        <p id="GFG_DOWN"></p>
  
        <script>
            var el_down = document.getElementById("GFG_DOWN");
            function Geeks() {
                try {
                    let a = [];
                    a.length = 6;
                    el_down.innerHTML = 
                      "'Invalid array length' "+
                      "error has not occurred";
                } catch (e) {
                    
                    // Show the error in console
                    console.log(e);
                    el_down.innerHTML = 
                      "'Invalid array length' "+
                      "error has occurred";
                }
            }
        </script>
    </body>
</html>

Producción:

Ejemplo 2: en este ejemplo, la propiedad de longitud se establece en -1, que es un valor no válido, por lo tanto, se produjo el error.

HTML

<!DOCTYPE html>
<html>
    <head>
        <script src=
"https://code.jquery.com/jquery-3.5.0.js">
        </script>
    </head>
    <body style="text-align: center;">
        <h1 style="color: green;">
            GeeksforGeeks
        </h1>
  
        <p>
            JavaScript RangeError 
            Invalid array length
        </p>
  
        <button onclick="Geeks();">
            click here
        </button>
        <p id="GFG_DOWN"></p>
  
        <script>
            var el_down = document.getElementById("GFG_DOWN");
            function Geeks() {
                try {
                    let a = [];
                    a.length = -1;
                    el_down.innerHTML = 
                      "'Invalid array length' "+
                      "error has not occurred";
                } catch (e) {
                    
                    // Show the error in console
                    console.log(e);
                    el_down.innerHTML = 
                      "'Invalid array length' "+
                      "error has occurred";
                }
            }
        </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 *