Ejercicio repaso JS

Queremos guardar los datos de una serie de productos, lo hacemos en un objeto que tiene como campos clave ‘nombre’, ‘referencia’, ‘precio’, ‘stock’.

Decidimos crear una función que, pasándole esos parámetros, nos cree un objeto con los valores. Se deben introducir todos los valores.

El precio tiene que ser mayor o igual que 0, el stock lo mismo.

La referencia tiene el siguiente formato: XXX12345 donde XXX son tres letras en mayúsculas [A-Z] y 12345 cinco dígitos. La referencia debe ser correcta.

Si falta algún valor, precio y stock no tienen los valores adecuados, o la referencia es incorrecta se devuelve ‘null’

Para hacer un test nos han pedido que creemos un array de 100 productos. El nombre de los productos será ‘producto’ + número de índice. La referencia será ‘AAA’ para los 10 primeros, ‘BBB’ para los 10 segundos y así sucesivamente. El número de la referencia será el mismo número de índice que el del producto. (p.ej., el producto ‘producto4’ tendrá como referencia ‘AAA00004’, el producto31 tendrá como referencia ‘DDD00031’). El precio será un valor aleatorio entero entre 2 y 50. El stock será un valor aleatorio entero entre 10 y 200.

Ejercicio javascript

Hay una conjetura matemática que dice que lo siguiente:

Sea la siguiente operación, aplicable a cualquier número entero positivo:

  • Si el número es par, se divide entre 2.
  • Si el número es impar, se multiplica por 3 y se suma 1.

Al final siempre obtenemos uno.

Ejemplo:  13, 40, 20, 10, 5, 16, 8, 4, 2, 1.

Crearemos una función ‘conjetura’ a la que le pasaremos un número y nos devolverá una cadena con los pasos.

Ejemplo:
conjetura(13)-> 13, 40, 20, 10, 5, 16, 8, 4, 2, 1
conjetura(128)->128,64,32,16,8,4,2,1
conjetura(5)->5, 16, 8, 4, 2, 1

Función que dado un número de teléfono nos diga si es válido (true) o no (false). Un número de teléfono es válido si tiene una longitud de nueve cifras y todas son números. Ejemplo: telefonoValido(“666999666”)->true telefonoValido(“33666999666”)->false

Función que dado un número de teléfono válido nos lo muestre en formato xxx-xxx-xxx. Ejemplo: formatTelefono(“666999666”)-> “666-999-666”

Función que nos diga si un cif es válido o no. Los cifs válidos con una letra+8 caracteres. Ejemplo: cifValido(‘B12345678’)->true

Escribe una función a la que le pasemos dos cadenas y nos devuelva la más larga. Ejemplo: masLarga(“hola,”,”adios”)->”adios”

Modificar la función anterior para admitir un número indefinido de cadenas.

Ejercicio objetos

Vamos a crear una función que pasándole como parámetros un nombre y un sueldo nos cree un objeto con esta forma:
{
nombre: el nombre que le pasemos
sueldo: el sueldo que le pasemos
}

Usamos la función para crear las variables ana y pepe con nombre ‘Ana Pi’ y ‘Jose Buj’ y sueldos 1500 y 1300.

Crearemos una función mayorSueldo que pasándole dos objetos nos devuelva el que tiene mayor sueldo. Si uno de los objetos no tiene la propiedad sueldo el mayor será el que sí tenga esa propiedad. Si ninguno de los dos tiene propiedad sueldo devolvemos null.

Ejercicios JS

Crear una función ‘mayor’ que pasándole dos números nos devuelva el mayor. Declaradla de las tres maneras posibles (declaración, expresión, flecha).

Crear una función ‘paridad’ que pasándole dos números nos devuelva true si los dos son pares o impares o false si uno es par y el otro impar. Declaración y función flecha

Crear una función a la que le pasemos un número y nos devuelva si es primo o no.

Ejemplos funciones js

let a=10, b=20;
let t=[1,2,3]

function sorpresa(num, par,impar){
	if (num%2==0){
		par();
	}else{
		impar();
	}
}

function suma(a,b){
	a+=b;
	return a;
}
function sumaTabla(t){
	let s=0;
	while(t.length>0){
		s+=t.pop();
	}
	return s;
}
let c=suma(a,b);
function duplicarTabla(tabla){
	let t=[...tabla];
	for(let i=0;i<t.length;i++){
		t[i]*=2;
	}
	return t;
}
function cambiarTabla(tabla,funcion){
	let t=[...tabla];
	for(let i=0;i<t.length;i++){
		t[i]=funcion(t[i]);
	}
	return t;
}
function duplicar(n){
	return n*2;
}
function cuadrado(n){
	return n*n;
}
let saludo=function(){
	console.log("holis");
}
let otro=saludo;
let adios=function(){
	console.log("Adios");
}
sorpresa(4,saludo,adios);
sorpresa(5,saludo,adios);

console.log(c);
console.log(a);
a=suma(a,b);
t2=duplicarTabla(t); //Duplicarla en otra tabla
t=duplicarTabla(t); // Modificar mi table
let t3=cambiarTabla(t,cuadrado);
console.log(t);
console.log(t3);
let s=sumaTabla(t);
console.log(s);
console.log(t);