Appearance
Práctica 4
Vamos a seguir trabajando algunos aspectos básicos de JavaScript, puedes seguir subiendo los ejercicios al repositorio "javascript fundamentals" que creaste en la práctica anterior.
Ejercicio 11
- Crea el archivo
ejercicio_11.js
. - Crea un array que contenga:
- Un valor numérico entero
- Un valor numérico decimal
- Un valor de texto
- Un valor booleano
- Crea una función que itere sobre el array con un bucle for y muestre el valor y el tipo de dato de cada elemento por consola. Asegurate de que el valor y el tipo de dato se muestren en la misma línea.
EXTRA: ¿Puedes parametrizar la función? En lugar de leer directamente el array, pásalo como argumento.
js
function mostrarElementos(array) {
for(let i = 0; i < array.length; i++) {
console.log(array[i], typeof array[i]);
}
}
function mostrarElementos(array) {
for(let i = 0; i < array.length; i++) {
console.log(array[i], typeof array[i]);
}
}
Ejercicio 12
- Crea el archivo
ejercicio_12.js
. - Crea una función para calcular el IMC de una persona. La función debe recibir dos parámetros, el peso en kilos y la altura en metros.
- La formula para calcular el IMC es la siguiente:
IMC = peso(kg) / altura(m)²
IMC = peso(kg) / altura(m)²
- La función debe devolver un objeto con la siguiente estructura:
javascript
{
peso: 80,
altura: 1.80,
imc: 24.69
}
{
peso: 80,
altura: 1.80,
imc: 24.69
}
- Muestra el resultado por consola usando el metodo
table
deconsole
.
js
function calcularIMC(peso, altura) {
const imc = peso / (altura * altura);
return {
peso,
altura,
imc
}
}
console.table(calcularIMC(80, 1.80));
function calcularIMC(peso, altura) {
const imc = peso / (altura * altura);
return {
peso,
altura,
imc
}
}
console.table(calcularIMC(80, 1.80));
Ejercicio 13
- Crea el archivo
ejercicio_13.js
. - Crea una función que reciba un array de números y devuelva la suma de todos los elementos del array.
- Almacena el resultado en una variable global y muestrala en consola.
js
function sumaElementos(arr){
let resultado = 0;
for (let i = 0; i < arr.length; i++) {
resultado += arr[i];
}
return resultado;
}
function sumaNumeros(arr){
let resultado = 0;
for (let i = 0; i < arr.length; i++) {
if(typeof arr[i] == 'number'){
resultado += arr[i];
} else {
throw new Error('El elemento no es un número');
}
}
return resultado;
}
const arr = [12, 2.5, "hola", true]
console.log(sumaElementos(arr))
console.log(sumaNumeros(arr))
function sumaElementos(arr){
let resultado = 0;
for (let i = 0; i < arr.length; i++) {
resultado += arr[i];
}
return resultado;
}
function sumaNumeros(arr){
let resultado = 0;
for (let i = 0; i < arr.length; i++) {
if(typeof arr[i] == 'number'){
resultado += arr[i];
} else {
throw new Error('El elemento no es un número');
}
}
return resultado;
}
const arr = [12, 2.5, "hola", true]
console.log(sumaElementos(arr))
console.log(sumaNumeros(arr))
Ejercicio 14
- Crea el archivo
ejercicio_14.js
. - Crea una función que reciba un array de números y devuelva el menor de los números.
- Crea otra función que reciba un array de números y devuelva el mayor de los números.
- Crea otra función que reciba un array de números y devuelva la media de todos ellos.
- Crea una función que reciba un array de números y devuelva un objeto con las siguientes propiedades:
min
: El menor de los números.max
: El mayor de los números.media
: La media de todos los números.
js
function menor(array) {
let min = array[0];
for(let i = 1; i < array.length; i++) {
if(array[i] < min) {
min = array[i];
}
}
return min;
}
function menor(array) {
let min = array[0];
for(let i = 1; i < array.length; i++) {
if(array[i] < min) {
min = array[i];
}
}
return min;
}
Ejercicio 15
- Crea el archivo
ejercicio_15.js
. - Crea una función que devuelva true si un numero es par y false si es impar.
js
function esPar(numero) {
return numero % 2 === 0;
}
function esPar(numero) {
return numero % 2 === 0;
}
Ejercicio 16
- Crea el archivo
ejercicio_16.js
. - Crea una función para capitalizar la primera letra de una cadena de texto, de forma que al pasarle una cadena como esta:
"hola mundo"
"hola mundo"
devuelva una cadena como esta:
"Hola mundo"
"Hola mundo"
js
function capitalize(str) {
let caracteres = str.split('');
caracteres[0] = caracteres[0].toUpperCase();
return caracteres.join('');
}
function capitalizeBonito(str){
return str.charAt(0).toUpperCase() + str.slice(1)
}
console.time('capitalize')
console.log(capitalize('lorem ipsum'))
console.timeEnd('capitalize')
console.time('capitalizeBonito')
console.log(capitalizeBonito('lorem ipsum'))
console.timeEnd('capitalizeBonito')
function capitalize(str) {
let caracteres = str.split('');
caracteres[0] = caracteres[0].toUpperCase();
return caracteres.join('');
}
function capitalizeBonito(str){
return str.charAt(0).toUpperCase() + str.slice(1)
}
console.time('capitalize')
console.log(capitalize('lorem ipsum'))
console.timeEnd('capitalize')
console.time('capitalizeBonito')
console.log(capitalizeBonito('lorem ipsum'))
console.timeEnd('capitalizeBonito')
Ejercicio 17
- Crea el archivo
ejercicio_17.js
. - Crea una función que reciba un string y devuelva una copia del string modificandolo de la siguiente manera:
javascript
"hola mundo" // "hOla mUndO"
"hola mundo" // "hOla mUndO"
js
function atontador(string){
let new_string = ""
for(let i = 0; i < string.length; i++){
if(i%2 === 0){
new_string += string.charAt(i).toUpperCase()
} else{
new_string += string.charAt(i).toLowerCase()
}
}
return new_string
}
function atontador(string) {
let new_string = ""
let index = 0
for (const caracter of string){
new_string += index % 2 ? string.charAt(index).toUpperCase() : string.charAt(index).toLowerCase()
index++;
}
return new_string
}
function atontador(string){
let new_string = ""
for(let i = 0; i < string.length; i++){
if(i%2 === 0){
new_string += string.charAt(i).toUpperCase()
} else{
new_string += string.charAt(i).toLowerCase()
}
}
return new_string
}
function atontador(string) {
let new_string = ""
let index = 0
for (const caracter of string){
new_string += index % 2 ? string.charAt(index).toUpperCase() : string.charAt(index).toLowerCase()
index++;
}
return new_string
}
Ejercicio 18
- Crea el archivo
ejercicio_18.js
. - Crea una función que cambie las vocales de un string por la vocal que pases como argumento a la misma. Por ejemplo, si le pasamos "hola mundo" como string a modificar y "a" como caracter a introducir, debería devolver "hala manda".
js
function cambiarVocales(string, vocal) {
let new_string = ""
for (const caracter of string){
if(caracter === "a" || caracter === "e" || caracter === "i" || caracter === "o" || caracter === "u"){
new_string += vocal
} else {
new_string += caracter
}
}
return new_string
}
function cambiarVocales(string, vocal) {
let new_string = ""
for (const caracter of string){
if(caracter === "a" || caracter === "e" || caracter === "i" || caracter === "o" || caracter === "u"){
new_string += vocal
} else {
new_string += caracter
}
}
return new_string
}
Ejercicio 19
- Crea el archivo
ejercicio_19.js
. - Copia el siguiente código en tu archivo:
javascript
const cadena = "XOXOOOXOXXXXOXOOXO"
const cadena = "XOXOOOXOXXXXOXOOXO"
- Crea una funcion a la que le pases una cadena y cuente el número de
X
yO
que contiene. Debe devolver un objeto con el número deX
y el número deO
.
js
function contarXO(cadena) {
let x = 0;
let o = 0;
for (const caracter of cadena) {
if(caracter === 'X') {
x++;
} else if(caracter === 'O') {
o++;
}
}
return {x, o}
}
function contarXO(cadena) {
let x = 0;
let o = 0;
for (const caracter of cadena) {
if(caracter === 'X') {
x++;
} else if(caracter === 'O') {
o++;
}
}
return {x, o}
}
Ejercicio 20
- Crea el archivo
ejercicio_20.js
. - Copia el siguiente código en tu archivo:
javascript
let cadena = "“It is said that your life flashes before your eyes just before you die. That is true, it’s called life.”"
let cadena = "“It is said that your life flashes before your eyes just before you die. That is true, it’s called life.”"
- Haz una funcion que cuente cuantas veces se repite la palabra
life
en la cadena de texto y devuelva el resultado.
js
function contarLife(cadena) {
let contador = 0;
const palabras = cadena.split(' ');
for(let i = 0; i < palabras.length; i++) {
if(palabras[i].toLowerCase() === 'life') {
contador++;
}
}
return contador;
}
function contarLife(cadena) {
let contador = 0;
const palabras = cadena.split(' ');
for(let i = 0; i < palabras.length; i++) {
if(palabras[i].toLowerCase() === 'life') {
contador++;
}
}
return contador;
}