En JavaScript, un arreglo es una estructura similar a una lista, sin longitud fija, que puede contener cualquier tipo de primitivas u objetos, incluso tipos mezclados.
Para crear un array, agrega elementos entre corchetes [].
Para leer del array, coloca 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 la cantidad 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, asignas 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 todo objeto Array se pueden usar para agregar o quitar elementos del array. Estos son algunos para tener en cuenta al resolver este ejercicio:
Un value se puede agregar al final de un array con .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]
El último value se puede quitar de un array con .pop().
El método devuelve el valor eliminado.
La longitud del array disminuirá por este cambio.
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
El primer value se puede quitar de un array con .shift().
El método devuelve el valor eliminado.
La longitud del array disminuirá por este cambio.
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
Un value se puede agregar al principio de un array con .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']
Un value en un index específico se puede quitar de un array con .splice(index, 1).
El método devuelve el o los elementos eliminados.
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 agregar varios valores a la vez, si agregas 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 una pila 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 pila de cartas se puede representar con un array de números. La posición de una carta corresponde al índice en el array. Es decir, la posición 0 se refiere a la primera carta, la posición 1 a la segunda, etc.
Todas las funciones, excepto dos, deben actualizar el array de cartas y luego devolver el array modificado. Es una forma común de trabajar conocida como el patrón Builder, que te permite encadenar funciones de forma muy ordenada.
Las dos excepciones son getItem, que debe devolver la carta en la posición dada, y checkSizeOfStack, que debe devolver true si el tamaño dado coincide.
Para tomar una carta, devuelve la carta en el índice position de la pila dada.
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
Haz un poco de juego de manos e intercambia la carta en el índice position por la carta de reemplazo proporcionada.
Devuelve la pila ajustada.
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 de la pila. Devuelve la pila ajustada.
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
Haz desaparecer una carta quitando la carta en la position dada de la pila.
Devuelve la pila ajustada.
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
Haz desaparecer una carta quitando la carta de la parte superior de la pila. Devuelve la pila ajustada.
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
Haz aparecer una carta insertando una carta nueva en la parte inferior de la pila. Devuelve la pila ajustada.
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
Haz desaparecer una carta quitando la carta de la parte inferior de la pila. Devuelve la pila ajustada.
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
Comprueba si el tamaño de la pila 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.