Lección 6: Array
Una variable puede contener más de un valor, una lista con diferentes elementos. Como un cajón que abrirlo te encuentras más cajoncitos. A esta característica se le denomina array
.
Crear
// Vacío
const semana = [];
// Lleno
const semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
Leer
console.log(semana[1]);
// martes
Incluso puedes capturar usando indices negativos con at
. Por ejemplo, ¿cual es el último elemento?
console.log(semana.at(-1));
// domingo
Longitud
console.log(semana.length);
// 7
Añadir
let meses = [];
meses.push('Enero');
// 1
const dosMeses = meses.concat('Febrero');
console.log(dosMeses);
// ['Enero', 'Febrero']
console.log(meses);
// ['Enero']
Eliminar
Primer elemento
Siempre debemo evitar modificar el contenido de las variables. La estrategia sería no alterar el array
original creando uno nuevo sin el primer elemento. Podemos usar slice(1)
para ello. Lo clonará desde la posición que deseemos.
const semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
const semanaSinLunes = meses.slice(1);
// ['martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo']
En caso que debamos alterar su contenido, disponemos de shift()
.
let semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
semana.shift();
console.log(semana);
// ['martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo']
Último elemento
Para no alterar el contenido del array
volvemos a utilizar slice
. En este caso clonaremos desde la posición 0 a la penúltima (-1
o semana.length - 1
).
const semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
const semanaSinDomingo = semana.slice(0, -1);
console.log(semanaSinDomingo);
// ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']
En caso de modificar el array
, podemos usar pop()
.
let semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
semana.pop();
console.log(semana);
// ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']
Posición concreta
Por ejemplo el sábado, que ocupa la posición 5.
const semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
const semanaSinSabado = semana.filter(function(valor, posicion) {
return posicion !== 5
});
console.log(semanaSinSabado);
// ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'domingo]
Si quieremos modificinar el array
, disponemos de splice
(no confundir con slice
). El primer argumento es la posición y el segundo la cantidad de elementos a eliminar (en el ejemplo será 1).
let semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'];
semana.splice(5, 1);
console.log(semana);
// ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'domingo]
Avanzado
Funciones de Transformación, Conversión y Comprobación
Hay una serie de funciones que te serán de mucha ayuda para gestionarlos.
- filter
- reduce
- map
- fill
- find
- includes, busca si existe un elemento dentro de un
array
. - some, te dice si un
array
cumple la condición en algún momento. - every, igual que
some
pero debe cumplirse siempre. - forEach, recorre un
array
obteniendo su posición y valor.
Puedes leer un resumen en el siguiente artículo de javascript funcional.
Set (Conjuntos)
Para evitar repeticiones dentro de un array
puedes usar una herramienta específica para ello.
// Crear
let setPelis = new Set(); // No permite repeticiones
// Anyadir
setPelis.add('Lo que el viento se llevó')
setPelis.add('Lo que el viento se llevó')
setPelis.add('La gran evasion')
console.log(setPelis)
// ['Lo que el viento se llevó', 'La gran evasión']
// Comprobar
console.log('SET: Tiene la Gran evasion? ' + setPelis.has('La gran evasion'))
// SET: Tiene la Gran evasion? true
console.log('SET: ' + setPelis.size)
// SET: 2
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me ayudas?
No te sientas obligado a realizarme una donación, pero cada aportación me ayuda a mantener el sitio en activo para que continúe existiendo y me motiva a continuar creando nuevo contenido.

- 1 café: Se mantiene el dominio durante 4 meses.
- 2 cafés: Se liquida 1 mes del Servidor Web.
- 3 cafés: Se paga 1 mes de Newsletter.
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios