
Javascript añade un elemento a un array vacío
Este código establecerá la variable A en un nuevo array vacío. Esto es perfecto si no tienes referencias al array original A en ningún otro lugar porque esto realmente crea un nuevo array (vacío). Debes tener cuidado con este método porque si has referenciado este array desde otra variable o propiedad, el array original permanecerá sin cambios. Sólo use esto si sólo hace referencia al array por su variable original A.
Usar .splice() funcionará perfectamente, pero como la función .splice() devolverá un array con todos los elementos eliminados, en realidad devolverá una copia del array original. Los benchmarks sugieren que esto no tiene ningún efecto en el rendimiento.
Como señala Diadistis en su respuesta más abajo, los benchmarks originales que se utilizaron para determinar el rendimiento de los cuatro métodos descritos anteriormente eran defectuosos. El benchmark original reutilizaba el array limpiado, por lo que la segunda iteración limpiaba un array que ya estaba vacío.
El siguiente punto de referencia corrige este defecto: http://jsben.ch/#/hyj65. Muestra claramente que los métodos #2 (propiedad de longitud) y #3 (empalme) son los más rápidos (sin contar el método #1 que no cambia el array original).
¿Cómo se crea una matriz vacía?
Esta es la forma más rápida de vaciar un array: a = []; Este código asigna el array a a un nuevo array vacío.
¿Cómo se crea un nuevo array en JavaScript?
Creación de una matriz
Utilizar un literal de array es la forma más sencilla de crear un array en JavaScript. Sintaxis: const array_name = [item1, item2, …]; Es una práctica común declarar arrays con la palabra clave const.
Crear una matriz vacía
En el código anterior, simplemente asignamos el array n a un nuevo array vacío. Esto funciona como un arma sólo si no hay referencias en el código al array original. Sin embargo, en caso de que las haya, esas referencias no se actualizarán, es decir, seguirán utilizando el array original, lo que provocaría aún más discrepancias en el código. Para entender mejor este defecto de este método, veamos el siguiente ejemplo:let n = [9,5,4,3,7];
En el código anterior, el método splice() ha vaciado el array ya que se han eliminado todos los elementos.Usando el método pop()Usando el método pop(), cada elemento del array es vaciado uno a uno en un bucle while hasta que el array se vacía. Esto se puede ver a continuación:while(n.length > 0) {
Aunque el método parece bastante fácil, toma la mayor cantidad de tiempo para la ejecución, ya que cada elemento de la matriz se vacía uno a la vez. Por lo tanto, debido a su lento rendimiento, su uso no es muy preferido.
Matriz de Javascript
Creación de una lista vacía de ceros: []Método 2: Crear una lista vacía en python con un tamaño determinado usando la comprensión de listasEn este ejemplo, estamos usando la comprensión de listas de Python para matrices vacías de 1D y 2D.Python3# inicializa los espacios con 0 con# la ayuda de la comprensión de listasa = [0 para x en rango(10)]print(a) b = [[0] * 4 para i en rango(3)]print(b)Salida:[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]Método 4: Inicializar matriz vacía usando NumpyEn este método, estamos usando el módulo Numpy para generar una matriz vacía de tamaños 1D y 2D usando np.empty(). Python3import numpy # crear una matriz simple con numpy empty()a = numpy.empty(5, dtype=object)print(a) # crear una matriz multidimensional proporcionando shapematrix = numpy.empty(shape=(2, 5), dtype=’object’)print(matrix)Salida:[None None None None]
Javascript devuelve un array vacío
Esta forma de crear un array de longitudes específicas no se recomienda si se utiliza JSlint, ya que podría causar problemas. Dado que esta forma es ambigua y no sólo crea un array de una longitud determinada, también se puede utilizar para hacer otras cosas como crear un array que contenga un valor como el siguiente.var arr_2 = new Array(‘5’);
Para crear un array vacío de una longitud específica, digamos 5, pasaremos null como primer argumento, y el segundo es el array Array(5). Esto creará un array de longitud 5 e inicializará cada elemento con un valor indefinido.Alternativamente, también puedes hacer lo siguiente. Aquí, puedes pasar un objeto array como segundo parámetro y luego dentro de él definir la longitud del array que quieres crear, en este caso, 5.var arr = Array.apply( null, { length: 5 } );
