Plataformas Móviles
Vimos el tipo de datos lista (array) en JavaScript, y algunos ejemplos de código.
Definir listas
var listaDeNumeros = [1, 23, 56, 1234];
var listaDeStrings = ['a', 'abc'];
var listaDeFloats = [1.23, 2.34, 3.45];
var listaDeBooleanos = [false, false, true];
var listaDeMultiplesTipos = [1, 'a', 1.23, false];
Acceder a Valores de una lista
console.log("acceder a una posicion: ", listaDeNumeros[0]);
console.log("acceder a la longitud: ", listaDeNumeros.length);
Una opción para agregar elementos es usar los métodos push()
y unshift()
de listas.
var nuevoValor = 33;
// agregar un elemento al final de una lista
listaDeNumeros.push(nuevoValor);
// agregar un elemento al inicio de una lista
listaDeNumeros.unshift(nuevoValor);
Para eliminar elementos de una lista tenemos los métodos pop()
y shift()
de listas.
// eliminar un elemento al final de una lista, y obtenerlo
let ultimoNumero = listaDeNumeros.pop();
// agregar un elemento al inicio de una lista
let primerNumero = listaDeNumeros.shift();
Vimos el método splice()
que sirve para agregar y eliminar elementos de manera simultanea. Más detalles en la documentación: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Se puede usar el método filter()
filtrar los elementos de una lista. La función de filtro que recibe filter()
debe devolver true
para que el elemento permanezca en la lista resultante y false
para que sea eliminado de la lista resultante.
var listaDePreposiciones = ['a', 'ante', 'bajo', 'cabe', 'con', 'contra', 'de', 'desde', 'durante', 'en', 'entre', 'hacia', 'hasta', 'mediante', 'para', 'por', 'según', 'sin', 'so', 'sobre', 'tras', 'versus', 'vía'];
// me quedo con las palabras de al menos 3 letras de largo
var listaFiltrada = listaDePreposiciones.filter((elementoActual) => {
return elementoActual.length > 3;
})
console.log("lista de preposiciones filtrada", listaFiltrada)
console.log("lista de preposiciones original", listaDePreposiciones)
Se pueden definir listas dentro de otras listas
var listaAnidada = [ 1, 2, 3, [7, 8, 9], 4, 5, 6 ]
listaAnidada[3][1] // accedo al 8
Declaración y creación de Objetos
var objetoAlumno = {
nombre: "Juan",
apellido: "Pérez",
"edad": 18,
"nombre.y.apellido": "Juan Pérez II",
};
Acceder los valores dentro de los campos (atributos, claves) de un objeto
// acceso por sintáxis de punto
alumno.edad;
// acceso por sintáxis de corchetes
alumno["edad"]
alumno["nombre.y.apellido"]
// el acceso por corchetes se puede usar para acceder a campos con nombres calculados
var campoImportante = "nombre";
alumno[campoImportante]
campoImportante = "apellido";
alumno[campoImportante]
Tipos de valores dentro de los campos de un objeto
var objetoConDatosDeDistintosTipos = {
unValorBooleano: true,
unValorNumerico: 2,
unValorString: "aaaaa",
unValorLista: [],
unValorObjeto: {},
}
Queremos almacenar un listado de alumnos. Evaluamos distintas opciones
// la posicion indica que alumno refiere en los listados
var listadoDeNombres = ["Juan", "Sahid"]
var listadoDeApellidos = []
var listaDeEdades = [18, 19, 20]
// objeto con todos los alumnos
var objetoDeAlumnos = {
nombre_1: "Juan",
apellido_1: "",
edad_1: 18,
nombre_2: "Sahid",
apellido_2: "",
edad_2: 19,
}
// Un objeto para cada alumno, dentro de otro objeto.
var objetoListaAlumnos = {
alumno_1: {
nombre: "Juan",
apellido: "",
edad: 18,
},
alumno_2: {
nombre: "Sahid",
apellido: "",
edad: 19,
}
}
// un objeto para cada alumno, una lista para contener a todos los alumnos
var listaDeAlumnos = [
{
nombre: "Juan",
apellido: "",
edad: 18,
},
{
nombre: "Sahid",
apellido: "",
edad: 19,
},
]
// Agrego un nuevo alumno al listado
listaDeAlumnos[2] = {
nombre: "Agustin",
apellido: "",
edad: 19,
}
console.log("Lista Nueva de Alumnos: ", listaDeAlumnos);
Creo un nuevo alumno y lo agrego al listado
function crearNuevoAlumno(nombre, apellido, edad) {
return {
nombre,
apellido,
edad,
};
}
var nuevaListaDeAlumnos = agregarAlumno(listaDeAlumnos, datosDelAlumno);
var alumnoA = {
nombre: "Juan",
apellido: "",
edad: 18,
};
var alumnoB = {
nombre: "Sahid",
apellido: "",
edad: 19,
};
// creo un listado de alumnos
var listaDeAlumnosEjemplo = [
alumnoA,
alumnoB,
];
// accedo a campos dentro de los alumnos, dentro del listado
var nombreDelAlumno = listaDeAlumnosEjemplo[1].nombre;
var apellidoDelAlumno = listaDeAlumnosEjemplo[1].apellido;