JavaMétodos de matriz de scripts: crear con un ejemplo

⚡ Resumen inteligente

JavaLos métodos de matriz de script permiten a los desarrolladores almacenar, recuperar y transformar colecciones ordenadas de valores mediante un único objeto. Este artículo explica la creación de matrices, el acceso por índice, las familias de métodos integrados, las técnicas de iteración, las estructuras multidimensionales y un ejemplo ejecutable con el resultado esperado.

  • 📦 Concepto principal: Un array es un objeto que contiene muchos valores bajo un mismo nombre y expone cada valor a través de un índice basado en cero.
  • 🛠️ Sintaxis de creación: Se prefiere la notación literal con corchetes, mientras que el constructor Array sigue estando disponible para el código heredado.
  • Métodos de mutación: Las operaciones push, pop, shift, unshift y splice modifican el array original y devuelven el valor eliminado o la nueva longitud.
  • 🔍 Métodos no mutagénicos: Las funciones slice, concat, join, indexOf e includes leen el array sin alterar los elementos almacenados.
  • 🔁 Familia de iteraciones: Las funciones forEach, map, filter, reduce y find aplican una función de devolución de llamada a cada elemento y admiten patrones de programación funcional.
  • ⚠️ Precaución al clasificar: El método de ordenación predeterminado compara los valores como cadenas de texto, por lo que los datos numéricos requieren una función de comparación explícita.
  • 🧱 Estructuras anidadas: Al colocar matrices dentro de otras matrices, se obtiene una cuadrícula multidimensional a la que se accede mediante dos expresiones de índice.

JavaMétodos de matriz de scripts

¿Qué es un Array en Java¿Texto?

Una matriz es un objeto que puede almacenar una colección de artículosLos arrays resultan muy útiles cuando necesitas almacenar grandes cantidades de datos del mismo tipo. Supongamos que quieres almacenar los detalles de 500 empleados. Si usas variables, tendrás que crear 500 variables, mientras que puedes hacer lo mismo con un solo array. Puedes acceder a los elementos de un array haciendo referencia a sus número de índicey el índice del primer elemento de una matriz es cero.

A diferencia de los arreglos en lenguajes estrictamente tipados, un JavaLos arrays de scripts son dinámicos. Su longitud aumenta automáticamente al añadir un nuevo elemento, y un mismo array puede contener cadenas, números, booleanos, objetos e incluso otros arrays simultáneamente. Esta flexibilidad convierte a los arrays en el contenedor predeterminado para listas de datos tanto en scripts de navegador como en código del servidor.

Cómo crear una matriz en JavaScript

Puedes crear una matriz en JavaScript como se indica a continuación.

var students = ["John", "Ann", "Kevin"];

Aquí, está inicializando su matriz a medida que se crea con los valores "John", "Ann" y "Kevin". El índice de “John”, “Ann” y “Kevin” es 0, 1 y 2 respectivamente. Si desea agregar más elementos a la matriz de estudiantes, puede hacerlo así:

students[3] = "Emma";
students[4] = "Rose";

También puedes crear un array usando el constructor Array de esta manera:

var students = new Array("John", "Ann", "Kevin");

OR

var students = new Array();

students[0] = "John";

students[1] = "Ann";

students[2] = "Kevin";

Cómo acceder y modificar elementos de un array

Cada elemento se ubica en una posición numerada. La notación entre corchetes lee un valor, asigna un nuevo valor o agrega una nueva entrada cuando el índice coincide con la longitud actual.

let students = ["John", "Ann", "Kevin"];

console.log(students[0]);              // John  - first element
console.log(students[students.length - 1]); // Kevin - last element

students[1] = "Anna";                // replace an existing value
students[3] = "Emma";                // append a new value

console.log(students);              // ["John", "Anna", "Kevin", "Emma"]
console.log(students.length);       // 4
console.log(students[9]);              // undefined - index does not exist

⚠️ Advertencia: Asignar un valor a un índice mucho más allá de la longitud actual crea una matriz dispersa llena de espacios vacíos. push() en lugar de un índice saltado para que el array se mantenga denso y predecible.

JavaMétodos de matriz de scripts

El objeto Array tiene muchas propiedades y métodos que ayudan a los desarrolladores a manejar matrices de manera fácil y eficiente. Puede obtener el valor de una propiedad especificando nombrematriz.property y la salida de un método especificando nombrematriz.method().

  1. propiedad de longitud –> Si desea saber la cantidad de elementos en una matriz, puede usar la propiedad de longitud.
  2. propiedad del prototipo –> Si desea agregar nuevas propiedades y métodos, puede utilizar la propiedad prototipo.
  3. método inverso –> Puede invertir el orden de los elementos en una matriz utilizando un método inverso.
  4. método de ordenación -> Puedes ordenar los elementos de una matriz usando el método de ordenación.
  5. método pop –> Puede eliminar el último elemento de una matriz utilizando un método pop.
  6. método de cambio -> Puedes eliminar el primer elemento de una matriz usando el método shift.
  7. método de empuje –> Puede agregar un valor como último elemento de la matriz.

La tabla de referencia que aparece a continuación agrupa los métodos más utilizados para que pueda ver de un vistazo cuáles modifican el array original y cuáles devuelven un nuevo valor.

Método Propósito Returns Modifica la matriz original
empujar() Agregue uno o más elementos al final. Nueva longitud Sí:
popular() Retire el último elemento Artículo eliminado Sí:
unshift () Agregue uno o más artículos al frente. Nueva longitud Sí:
cambio() Retire el primer elemento Artículo eliminado Sí:
empalme() Insertar o eliminar elementos en cualquier posición. Conjunto de elementos eliminados Sí:
ordenar() Pida los artículos El arreglo ordenado Sí:
contrarrestar () Invierte el orden de los elementos La matriz invertida Sí:
rebanada() Copia una sección de la matriz Nueva matriz No
concat () Unir dos o más matrices Nueva matriz No
unirse() Combinar elementos en una cadena Cordón No
índice de() Encuentra la posición de un valor. Índice o -1 No
incluye() Comprueba si existe un valor. verdadero o falso No

Agregar y eliminar elementos

let fruits = ["apple", "banana"];

fruits.push("cherry");      // ["apple", "banana", "cherry"]
fruits.unshift("mango");    // ["mango", "apple", "banana", "cherry"]
fruits.pop();                // ["mango", "apple", "banana"]
fruits.shift();              // ["apple", "banana"]

// splice(startIndex, deleteCount, ...itemsToInsert)
fruits.splice(1, 0, "kiwi"); // ["apple", "kiwi", "banana"]
console.log(fruits);

Búsqueda, copia y unión

let colors = ["red", "green", "blue", "green"];

console.log(colors.indexOf("green"));     // 1  - first match only
console.log(colors.lastIndexOf("green")); // 3
console.log(colors.includes("pink"));     // false
console.log(colors.slice(1, 3));         // ["green", "blue"]
console.log(colors.join(" | "));         // red | green | blue | green
console.log(colors.concat(["black"]));   // new array, colors unchanged

Métodos de iteración: forEach, map, filter y reduce

MODERNA JavaEl script da preferencia a los métodos controlados por devoluciones de llamada sobre los bucles de índice manuales, porque la intención de la operación se indica directamente en el nombre del método.

const scores = [45, 72, 88, 31, 95];

scores.forEach(s => console.log(s));   // prints each score

const doubled = scores.map(s => s * 2);  // [90, 144, 176, 62, 190]
const passed  = scores.filter(s => s >= 50); // [72, 88, 95]
const total   = scores.reduce((sum, s) => sum + s, 0); // 331
const first   = scores.find(s => s > 80);   // 88

console.log(doubled, passed, total, first);

💡 Consejo: El valor por defecto sort() convierte elementos en cadenas, por lo tanto [10, 9, 100].sort() devoluciones [10, 100, 9]. Pasar un comparador como por ejemplo sort((a, b) => a - b) para ordenar los números correctamente.

JavaEjemplo de matriz de script con código fuente Code

El siguiente script crea un array de estudiantes, añade un método de visualización personalizado mediante la propiedad `prototype` y, a continuación, muestra las operaciones de longitud, ordenación, inversión, extracción y inserción en secuencia. Pruébalo tú mismo:

<html>
<head>
	<title>Arrays!!!</title>
	<script type="text/javascript">
		var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
		Array.prototype.displayItems=function(){
			for (i=0;i<this.length;i++){
				document.write(this[i] + "<br />");
			}
		}
		document.write("students array<br />");
		students.displayItems();
		document.write("<br />The number of items in students array is " + students.length + "<br />");
		document.write("<br />The SORTED students array<br />");
		students.sort();
		students.displayItems();
		document.write("<br />The REVERSED students array<br />");
		students.reverse();
		students.displayItems();
		document.write("<br />THE students array after REMOVING the LAST item<br />");
		students.pop();
		students.displayItems();
        document.write("<br />THE students array after PUSH<br />");
        students.push("New Stuff");
		students.displayItems();
	</script>
</head>
<body>
</body>
</html>

Rendimiento esperado:

students array
John
Ann
Aaron
Edwin
Elizabeth

The number of items in students array is 5

The SORTED students array
Aaron
Ann
Edwin
Elizabeth
John

The REVERSED students array
John
Elizabeth
Edwin
Ann
Aaron

THE students array after REMOVING the LAST item
John
Elizabeth
Edwin
Ann

THE students array after PUSH
John
Elizabeth
Edwin
Ann
New Stuff

Observa que la función `sort` coloca "Aaron" antes que "Ann" porque las letras mayúsculas y minúsculas se comparan según sus códigos de caracteres. Observa también que la función `pop` eliminó "Aaron" del array invertido, lo que confirma que tanto `sort` como `reverse` modificaron el array original en su lugar.

Cómo recorrer un bucle JavaMatriz de scripts

Cuatro bañosping Existen diferentes estilos, y cada uno se adapta a una situación distinta. El bucle for clásico ofrece control total sobre el índice, for…of lee los valores directamente, forEach expresa la intención con claridad y for…in debe reservarse para las propiedades de los objetos.

const cities = ["Paris", "Tokyo", "Cairo"];

// 1. Classic for loop - index is available
for (let i = 0; i < cities.length; i++) {
    console.log(i + ": " + cities[i]);
}

// 2. for...of loop - value is available
for (const city of cities) {
    console.log(city);
}

// 3. forEach with index parameter
cities.forEach((city, index) => console.log(index, city));

// 4. entries() when both index and value are needed
for (const [index, city] of cities.entries()) {
    console.log(index, city);
}

Un análisis más profundo de la sintaxis de bucles, incluyendo while y do…while, aparece en el artículo sobre cómo usar bucles en JavaScript.

Matrices multidimensionales en JavaScript

JavaEl script no tiene un tipo de matriz específico. Una cuadrícula es simplemente una matriz cuyos elementos son a su vez matrices, y se utilizan dos expresiones de índice para acceder a una sola celda.

const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

console.log(matrix[1][2]); // 6  - row index 1, column index 2

for (const row of matrix) {
    console.log(row.join(" "));
}

// flatten a nested array into a single level
console.log(matrix.flat()); // [1, 2, 3, 4, 5, 6, 7, 8, 9]

Salida:

6
1 2 3
4 5 6
7 8 9
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Los arrays aparecen en casi todos los scripts prácticos, desde la validación de formularios hasta la representación de datos. Continúa con el Información JavaEjemplos de código de script, revisión JavaCadenas de script para el manejo de texto y lea sobre interno y externo JavaScript para decidir dónde pertenecen estos scripts en una página. Los desarrolladores que deseen una comprobación de tipos estática sobre el contenido de los arrays pueden pasar a la siguiente sección. TypeScript tutoriales.

Preguntas Frecuentes

Un array almacena una lista ordenada a la que se accede mediante índices numéricos, mientras que un objeto almacena propiedades con nombre sin un orden garantizado. Los arrays heredan métodos de lista como `push` y `map` que los objetos simples no proporcionan.

Utilice Array.isArray(value), que devuelve verdadero solo para matrices. El operador typeof no es fiable en este caso porque devuelve "objeto" tanto para matrices como para fechas y valores nulos.

Utilice la sintaxis de propagación […original] o original.slice(). La asignación simple copia solo la referencia, por lo que las ediciones a través de cualquiera de las variables afectarían al mismo array subyacente.

Encuentra la posición con indexOf y pásala a splice, por ejemplo arr.splice(arr.indexOf(“Ann”), 1). Alternativamente, filter devuelve un nuevo array que excluye el valor no deseado.

En el navegador, los arrays almacenan el historial de mensajes de chat, los vectores de incrustación y los tokens del modelo transmitidos. Métodos como map y reduce transforman estas colecciones antes de enviarlas a una API o renderizarlas.

Sí, y suelen hacerlo. Aun así, confirma si el método sugerido modifica el array original, ya que una modificación inesperada puede corromper el estado de un componente de React o Vue.

Resumir este post con: