En JavaScript, un array es una estructura similar a una lista, sin longitud fija, que puede contener cualquier tipo de primitivos u objetos, incluso tipos mezclados.
Para crear un array, añade elementos entre corchetes ([]).
Para leer del array, escribe el índice entre corchetes ([]) después del identificador.
Los índices de un array empiezan en cero.
Por ejemplo:
const numbers = [1, 'two', 3, 'four'];
numbers[2];
// => 3
Para obtener el número de elementos que hay en un array, usa la propiedad length:
const numbers = [1, 'two', 3, 'four'];
numbers.length;
// => 4
Para cambiar un elemento del array, asigna un valor en el índice:
const numbers = [1, 'two', 3, 'four'];
numbers[0] = 'one';
numbers;
// => ['one', 'two', 3, 'four']
Algunos de los métodos disponibles en todos los objetos Array se pueden usar para añadir o quitar elementos de un array. Aquí tienes algunos que puedes tener en cuenta al resolver este ejercicio:
Se puede añadir un value al final de un array usando .push(value).
El método devuelve la nueva longitud del array.
const numbers = [1, 'two', 3, 'four'];
numbers.push(5); // => 5
numbers;
// => [1, 'two', 3, 'four', 5]
Se puede quitar el último value de un array usando .pop().
El método devuelve el valor quitado.
La longitud del array se reducirá con este cambio.
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
Se puede quitar el primer value de un array usando .shift().
El método devuelve el valor quitado.
La longitud del array se reducirá con este cambio.
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
Se puede añadir un value al principio de un array usando .unshift(value).
El método devuelve la nueva longitud del array.
const numbers = [1, 'two', 3, 'four'];
numbers.unshift('one'); // => 5
numbers;
// => ['one', 1, 'two', 3, 'four']
Se puede quitar un value en un index concreto de un array usando .splice(index, 1).
El método devuelve el elemento o los elementos quitados.
const numbers = [1, 'two', 3, 'four'];
numbers.splice(2, 1, 'one'); // => [3]
numbers;
// => [1, 'two', 'one', 'four']
Estos métodos son más potentes de lo que se describe aquí:
push como unshift te permiten añadir varios valores a la vez, pasando más argumentos.
Eso no es necesario para completar este ejercicio.deleteCount.
Esto se puede usar para reemplazar valores o insertar valores en medio de un array (por ejemplo, quitando 0 elementos).
Eso no es necesario para completar este ejercicio.Como futura maga, Elyse necesita practicar algunos conceptos básicos. Tiene un montón de cartas que quiere manipular.
Para que todo sea un poco más fácil, solo usa las cartas del 1 al 10, así que su montón de cartas puede representarse con un array de números. La posición de una carta concreta corresponde al índice dentro del array. Es decir, la posición 0 se refiere a la primera carta, la posición 1 a la segunda y así sucesivamente.
Todas las funciones menos dos deberían actualizar el array de cartas y luego devolver el array modificado, una forma de trabajar muy común conocida como el patrón Builder, que te permite encadenar funciones de forma muy elegante.
Las dos excepciones son getItem, que debería devolver la carta en la posición dada, y checkSizeOfStack, que debería devolver true si el tamaño dado coincide.
Para coger una carta, devuelve la carta que está en el índice position del
montón dado.
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
Haz un poco de prestidigitación e intercambia la carta que está en el índice position
por la carta de reemplazo proporcionada.
Devuelve el montón ajustado.
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]
Haz aparecer una carta insertando una carta nueva en la parte superior del montón. Devuelve el montón ajustado.
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
Haz desaparecer una carta eliminando del montón la carta que está en la position dada.
Devuelve el montón ajustado.
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
Haz desaparecer una carta eliminando la carta que está en la parte superior del montón. Devuelve el montón ajustado.
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
Haz aparecer una carta insertando una carta nueva en la parte inferior del montón. Devuelve el montón ajustado.
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
Haz desaparecer una carta eliminando la carta que está en la parte inferior del montón. Devuelve el montón ajustado.
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
Comprueba si el tamaño del montón es igual a stackSize o no.
const stackSize = 4;
checkSizeOfStack([3, 2, 6, 4, 8], stackSize);
// => false
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.