Array asociativa: en JavaScript, tenemos arrays normales en las que un elemento está presente en un índice particular. Mientras que las arrays asociativas son básicamente objetos en JavaScript donde el índice se reemplaza con claves definidas por el usuario. Básicamente, podemos decir que almacena pares clave-valor .
Sintaxis:
let arr = { key1: 'value'1, key2: 'value2', key3: 'value3'}
Aquí, arr es la array asociativa, key1, key2 y key3 son sus índices, y value1, value2 y value3 son sus elementos.
Ejemplo:
let arr = {"apple": 10, "grapes": 20};
Javascript
<script> let arr = { "apple": 10, "grapes": 20 }; arr["guava"] = 30; arr["banana"] = 40; document.writeln("Apple = " + arr.apple) document.write("Banana = " + arr.banana) </script>
Producción:
Apple = 10 Banana = 40
Longitud de una array asociativa: Al igual que en una array normal, una array asociativa no tiene una propiedad de longitud. Así que veremos otras formas de calcular la longitud de los arreglos asociativos.
Para calcular la longitud de una array asociativa, recorreremos el elemento de la array y contaremos todas las claves presentes en la array.
Javascript
<script> // Function to calculate the // length of an array sizeOfArray = function (array) { // A variable to store // the size of arrays let size = 0; // Traversing the array for (let key in array) { // Checking if key is present // in arrays or not if (array.hasOwnProperty(key)) { size++; } } // Return the size return size; } // Driver code let arr = { "apple": 10, "grapes": 20 }; arr["guava"] = 30; arr["banana"] = 40; // Printing the array console.log(arr); // Printing the size console.log("size = " + sizeOfArray(arr)); // Adding another element to array arr["fruits"] = 100; // Printing the array and size again console.log(arr); console.log("Size = " + sizeOfArray(arr)); </script>
Producción:
{apple: 10, grapes: 20, guava: 30, banana: 40} size = 4 {apple: 10, grapes: 20, guava: 30, banana: 40, fruits: 100} Size = 5
Usando el método de claves: El método de claves() devuelve una array que contiene todas las claves presentes en la array asociativa. Entonces, podemos usar la propiedad de longitud en esta array para obtener la longitud de la array asociativa.
Javascript
<script> let arr = { "apple": 10, "grapes": 20 }; arr["guava"] = 30; arr["banana"] = 40; // Printing the array // returned by keys() method console.log(Object.keys(arr)) // printing the size console.log("Size = " + Object.keys(arr).length) </script>
Producción:
['apple', 'grapes', 'guava', 'banana'] Size = 4