Los arrays en JavaScript son una herramienta poderosa para trabajar con conjuntos de datos. Con su amplia gama de propiedades y métodos, así como las diversas formas de acceder y manipular sus elementos, los arrays son esenciales para la mayoría de las aplicaciones web y de software en JavaScript.
Veremos algunos ejemplos simples pero muy útiles.
1// Transforma cada número multiplicándolo por 22const numbers = [1, 2, 3];3console.log(numbers.map((num) => num * 2));4// Filtra la comida que no sea carnívora5const meal = ["🥝", "🥦", "🍖", "🥕"];6console.log(meal.filter((m) => m !== "🍖"));7// Encuentra y devuelve el gallo8const animals = ["🐄", "🐑", "🐎", "🐓"];9console.log(animals.find((a) => a === "🐓"));10// Dónde está el murciélago11const animal2 = ["🦖", "🐔", "🦇", "🐈"];12console.log(animal2.findIndex((a2) => a2 === "🦇"));13// Rellena el array con dinero14const emptyArray = ["", "", ""];15console.log(emptyArray.fill("💵"));16// ¿Todo está ok?17const array = ["✅", "❌", "✅", "✅"];18console.log(array.every((a) => a === "✅"));19// ¿Hay algún error?20console.log(array.some((a) => a === "❌"));
Propiedades y métodos de arrays
Los arrays en JavaScript tienen varias propiedades y métodos útiles que facilitan su manipulación:
- lenght: Propiedad que indica la longitud del array.
- push(): Método que agrega uno o más elementos al final del array.
- pop(): Método que elimina el último elemento del array y lo devuelve.
- shift(): Método que elimina el primer elemento del array y lo devuelve.
- unshift(): Método que agrega uno o más elementos al inicio del array.
- slice(): Método que devuelve una copia superficial de una porción del array.
- splice(): Método que cambia el contenido de un array eliminando elementos existentes y/o agregando nuevos elementos.
- forEach(): Método que ejecuta una función dada una vez por cada elemento del array.
- find(callback): Este método devuelve el primer elemento en el array que cumple con la condición proporcionada en la función de retorno de llamada (callback). Si no se encuentra ningún elemento, devuelve undefined.
- findIndex(callback): Similar a find(), pero en lugar de devolver el elemento encontrado, devuelve el índice del primer elemento que cumple con la condición proporcionada en la función de retorno de llamada. Si no se encuentra ningún elemento, devuelve -1.
- fill(value): Este método rellena todos los elementos del array con el valor proporcionado. Puedes especificar opcionalmente un índice de inicio y un índice de finalización para limitar el rango de elementos que se llenarán.
- every(callback): Este método comprueba si todos los elementos del array cumplen con la condición proporcionada en la función de retorno de llamada. Devuelve true si todos los elementos pasan la prueba; de lo contrario, devuelve false.
- some(callback): Similar a every(), pero comprueba si al menos un elemento del array cumple con la condición proporcionada en la función de retorno de llamada. Devuelve true si al menos un elemento pasa la prueba; de lo contrario, devuelve false.
Estos métodos son muy útiles para realizar operaciones específicas en arrays y simplificar el código al trabajar con ellos.
Aquí una prueba técnica de Code Signal para aprender y realizar sobre cómo podemos manejar un array de los cuales debemos encontrar el par de elementos adyacentes y que tienen como resultado el prodcuto más alto y devuelven ese resultado:
1/**2* Dado un array de enteros, encontar el par de elementos adyacentes que3* tienen el producto más alto y devuelven ese producto.4* @param {array} inputArray5* @returns {product}6* Ejemplo inputArray = [3,6,-2,5,7,3]7* solution2(inputArray) = 218* El producto más grande serían el 7 y el 39*/10function solution1(inputArray) {11let maxProduct = -Infinity; // Esto garantiza que cualquier número natural sea mayor que maxProduct12
13for (let i = 0; i < inputArray.length - 1; i++) {14const product = inputArray[i] * inputArray[i + 1];15
16if (product > maxProduct) {17maxProduct = product;18}19}20return maxProduct;21}22console.log(solution1([3, 6, -2, -5, 7, 3])); // Debería devolver 21