Laboratorio: TypeScript básico en 1 hora

Definición de funciones

Implementa la función isFree:

Code

const product1 = {
  price: 15,
};

const product2 = {
  price: 0,
};

assertEqual(isFree(product1), false);
assertEqual(isFree(product2), true);

Solución

const product1 = {
  price: 15,
};

const product2 = {
  price: 0,
};

function isFree(product: { price: number }) {
  return product.price === 0;
}

assertEqual(isFree(product1), false);
assertEqual(isFree(product2), true);

Funciones flecha (arrow functions)

Uno de los usos más comunes de las funciones flecha es en la transformación de listas. La clase Array ofrece un método sort que permite ordenar su contenido:

console.log([3, 1, 2].sort());
// [1, 2, 3]

Pero sort también puede recibir una función que compare los dos valores:

console.log([3, 1, 2].sort((a, b) => b - a));
// [3, 2, 1]

Cuando la función devuelve:

  • un número negativo, a precede a b en el orden
  • un número positivo, b precede a a en el orden
  • cero a y b son iguales

Con esto, completa:

Código

const products = [
 { price: 3 },
 { price: 1 },
 { price: 2 },
];

const sortedProducts = ;

assertEqual(sortedProducts,[
 { price: 1 },
 { price: 2 },
 { price: 3 },
]);

Solución

const products = [{ price: 3 }, { price: 1 }, { price: 2 }];

const sortedProducts = products.sort(
  (p1, p2) => p1.price - p2.price,
);

assertEqual(sortedProducts, [
  { price: 1 },
  { price: 2 },
  { price: 3 },
]);
Ejercicio _ / _