Implementar Arraylist en JavaScript
- Creación de elementos de matriz en JavaScript
- Acceso a elementos de array en JavaScript
- Agregar elementos a un array en JavaScript
- Eliminar elementos del array
Estamos muy familiarizados con el Arraylist
en Java que nos permite agregar elementos a un arreglo sin especificar su tamaño. Es una buena característica, pero ¿tenemos algo similar en JavaScript? Cada idioma tiene su propio conjunto de estructuras de datos. En JavaScript, tenemos matrices que pueden almacenar valores tanto homogéneos como heterogéneos. Heterogéneo significa que los valores pueden ser de varios tipos de datos como cadena, número, booleano, etc., todos juntos en una soel array. Es una característica única y mejor en comparación con ArrayList
en Java.
Creación de elementos de matriz en JavaScript
Crear un array
en JavaScript es fácil. Creamos un array usando la palabra clave var
. Es similar a la forma en que creamos un Array usando ArrayList
en Java. Java insiste en especificar el tipo de datos de la ArrayList
. Pero en JavaScript, no declaramos explícitamente el tipo de datos de Array. Dejamos que el intérprete de JavaScript tome esa decisión en función de los valores asignados en el array. Cualquiera que sea el caso, para JavaScript, el tipo de Array es object
. Consulte el siguiente código para crear un array.
var a = [1, 6, 3, 5];
console.log(a.length);
console.log(typeof a);
console.log(typeof a[2]);
Producción :
4
object
number
length
: JavaScript tiene el atributolength
que devuelve el tamaño de un array.typeof
:typeof
es un operador unario. Y se usa para encontrar el tipo de operando en JavaScript. El código anterior devuelve el tipo de datos de Array como unobjeto
con el operadortypeof
.
Acceso a elementos de array en JavaScript
Al igual que el Arraylist
en Java, podemos iterar sobre un Array JavaScript usando bucles, el bucle for
y el bucle while
. JavaScript también tiene la función .foreach()
para iterar sobre elementos en un array. Podemos ejecutar ciertas líneas de código en cada elemento Array con .foreach()
. La función foreach
acepta una función como parámetro. Podemos escribir esta función como una función en línea. Consulte el fragmento de código a continuación para comprender mejor.
var a = ['hello', 1, false];
a.forEach((i) => {
console.log(typeof i);
})
Producción :
string
number
boolean
Aquí, aplicamos la operación typeof
en cada elemento del Array. El código registra además la salida en la consola del navegador web. JavaScript tiene otra función, la función .reverse()
, que invierte la posición de los elementos en el array. Consulte el siguiente código.
var a = ['hello', 1, false];
console.log(a.reverse());
Producción :
[false, 1, "hello"]
El registro anterior es el obtenido en la consola del navegador web Google Chrome.
Agregar elementos a un array en JavaScript
Podemos agregar elementos a una ArrayList
con la función .add()
en Java. De manera similar, en JavaScript, tenemos algunas funciones que podemos usar para agregar elementos en varias posiciones en un array.
.push()
: Como sugiere el nombre, podemos agregar elementos a un array con la función.push()
. Agrega el elemento, pasado como parámetro a la función, al final del Array. La función.push()
altera el array original. Por lo tanto, tenlo en cuenta al usarlo en el código. Devuelve el tamaño modificado del array después de agregar el nuevo elemento..unshift()
: Si tenemos que agregar un elemento al comienzo del Array, será una tarea agitada ya que necesitaremos reposicionar todos los contenidos del Array por un índice. Podemos lograr esta tarea con la función.unshift()
en JavaScript. Usando.unshift()
, podemos agregar uno o más elementos al comienzo del Array. Pasamos los elementos que deseamos agregar al Array como parámetros a la funciónunshift
.
var a = ['hello', 1, false];
a.push(2.15);
console.log(a);
a.unshift(123);
console.log(a);
Producción :
["hello", 1, false, 2.15]
[123, "hello", 1, false, 2.15]
El resultado es el obtenido en el navegador web Google Chrome. Tenga en cuenta que las operaciones alteran el array original sin tener que utilizar el operador de asignación.
Eliminar elementos del array
Del mismo modo, podemos eliminar un elemento de un array utilizando las siguientes funciones de JavaScript. Es comparable a la función remove()
de ArrayList
en Java.
.pop()
Si vamos a eliminar un elemento detrás de lamatriz
podemos usar la función.pop()
. Solo tenga en cuenta que la función altera el array original y devuelve el último elemento que acaba de aparecer..shift()
Si tenemos que eliminar un elemento del principio del Array, podemos usar la función.shift()
. Como.pop()
,.shift()
también altera el array original. Así que tenga cuidado al usar la función.shift()
.
var a = [123, 'hello', 1, false, 2.15];
a.pop();
console.log(a);
a.shift();
console.log(a);
Producción :
[123, "hello", 1, false]
["hello", 1, false]
Hay un par de cosas a tener en cuenta aquí.
- Las funciones
pop()
yshift()
no aceptan ningún parámetro. Y se utilizan para eliminar un elemento de un array en un momento dado. - Alteran el array original sin la necesidad de un operador de asignación. Por lo tanto, debemos usarlos con prudencia; de lo contrario, podríamos quedar atrapados en efectos secundarios desconocidos que serán difíciles de depurar.
Agregar y quitar varios elementos de un array
Hay otro método en JavaScript, la función splice()
. Podemos usarlo para agregar o eliminar uno o más elementos de un array. La función splice()
toma algunos parámetros de la siguiente manera.
startIndex
: especificamos el índice del array con el parámetrostartIndex
.count
: este parámetro especifica el número de elementos que deseamos eliminar del Array. Si no se especifica ningún recuento, entonces elsplice()
eliminará todos los elementos delstartIndex
hasta el final del Array.elements
: El último parámetro (s) es la lista de elementos que deseamos agregar al Array desde elstartIndex
. Si no se especifica ningún elemento en la funciónsplice()
, eliminará el elemento del Array.
Echemos un vistazo al siguiente código para comprender más.
var a = [123, 'hello', 1, false, 2.15];
a.splice(2, 1, 'there');
console.log(a);
a.splice(2, 2);
console.log(a);
a.splice(2);
console.log(a);
Producción :
[123, "hello", "there", false, 2.15]
[123, "hello", 2.15]
[123, "hello"]