Arrays, métodos, booleans, condicionales y funciones
Resumen
En este 3er día, veremos lo que aprendí en CourseIt. En esta ocasión no hay ejercicio práctico porque los mismos ejemplos que hago sirven para poner en práctica lo aprendido.
Podrás ver la lista de los 100 días en este enlace.
Arrays
Si tenemos dos objetos:
const perro1 = {
name: 'Adolfo',
age: 5
}
const perro2 = {
name: 'Pedro',
age: 3
}
Tal vez, esto sea sencillo de escribir a mano, pero en el caso especial en donde debamos leer MUCHOS objetos, miles, es inhumano!. Una solución es armar arrays de objetos.
Aprovechando los objetos ya declarados:
const perros = [perro1, perro2];
console.log(perros[0]) // Muestro los datos de perros[0], que son los mismos que perro1
No es necesario declarar una variable para insertarla en un array. Puedo acceder a este array utilizando los índices (en JS, empieza a indexar desde 0).
Métodos
Los métodos son funciones que ya vienen programadas en JS. Hay métodos copados que podemos usar en los arrays. Uno de ellos es push
, que nos sirve para agregar un dato nuevo:
perros.push({
name: 'Escorpion',
age: 6
})
console.log(perros) // Veo el array de objetos actualizado
Hay más métodos como por ejemplo:
-
indexOf
nos indica en donde se encuentra ubicada la letra o palabra objetivo. Nos devuelve la posición o un -1 si no lo encuentra. -
split
separa el string en elementos de un array, eliminando el caracter que le indicamos. -
toUpperCase
pasa el texto a mayúsculas. -
toLowerCase
pasa el texto a minúsculas. -
replace
reemplaza una parte del string por otro.
const frase = 'Hola, soy Sergio Massa. Vos que ta jai';
console.log(frase.indexOf('Massa')); // 17
console.log(frase.split(' ')); // ['Hola,', 'soy', 'Sergio', 'Massa.', 'Vos', 'que', 'ta', 'jai']
console.log(frase.toUpperCase()); // HOLA, SOY SERGIO MASSA. VOS QUE TA JAI
console.log(frase.toLowerCase()); // hola, soy sergio massa. vos que ta jai
console.log(frase.replace('Massa', '"Kun" Agüero')); // Hola, soy Sergio "Kun" Agüero. Vos que ta jai
Booleans
Acá solo tenemos dos posibles resultados: true
o false
. Podemos utilizar operadores de igualdad para hacer algo así:
const programming = true;
// Suponiendo que todos cenamos a las 21hs
const cena = 21;
let hora = 21
let isTime = hora == cena;
console.log(isTime); // true
hora = 23;
isTime = hora == cena; // false
console.log(isTime);
Los operadores que podemos usar son: >
, <
, >=
, <=
, ==
y ===
. La diferencia entre estos dos últimos es:
- Con
==
decimos "... es igual que ...", sin ver si son del mismo tipo. - Con
===
decimos "... es estrictamente igual que ...", o sea, que sean el mismo valor y tipo.
const a = 27;
const b = '27';
a == b; // true
a === b; // false
Condicionales
Como en otros lenguajes, también tenemos el condicional if simple y el if compuesto:
const mateCaliente = true;
const yerbaMate = 500; // gramos de yerba
// if simple
if (mateCaliente == true){
console.log('Tomate unos mates bien calentitos!');
} else {
console.log('Esperá que caliente el agua primero!');
}
// if compuesto
if (yerbaMate >= 500){
console.log('Tenemos para tomar mate para rato largo :D');
} else if (yerbaMate >= 200 && yerbaMate < 500){
console.log('Ojo que tenemos poca yerba!');
} else{
console.log('NOS QUEDAMOS SIN YERBA!!')
}
También podemos usar los operadores de comparación (vistos en el tema anterior) y, como se ve en el if compuesto, los operadores lógicos que son el AND (&&
) para indicar que se cumplan dos condiciones sí o sí y el OR (||
) para indicar que se debería cumplir una condición u otra.
Funciones
Si miramos los códigos de otros programadores en cualquier lenguaje, está el concepto de funciones. La función es un código o script que va a obtener datos como entrada (no necesariamente) y nos devuelve un valor o realizar una acción en su salida. Es una excelente manera de reutilizar código, como los métodos, sin tener que revisar qué hay en su interior... solo nos interesa su función propiamente dicha.
// Utilizando el ejemplo anterior del mate
// Precondición: yerbaMate puede tener como mucho un valor de 1000
function matecito(yerbaMate) {
if (yerbaMate >= 500){
console.log('Tenemos para tomar mate para rato largo :D');
} else if (yerbaMate >= 200 && yerbaMate < 500){
console.log('Ojo que tenemos poca yerba!');
} else{
console.log('NOS QUEDAMOS SIN YERBA!!');
}
}
const yerba = [800, 300, 20];
matecito(yerba[0]);
matecito(yerba[1]);
matecito(yerba[2]);
Día 3/100
Top comments (0)