Přeskočit na obsah
TypeScript Ace
Lehká Lekce 4 Oprav chybu

4. Oprav typy

Funkce má vrátit názvy produktů dražších než limit, seřazené podle ceny od nejlevnějšího.

Kód ale nefunguje: TypeScript hlásí chybu a ani řazení není správně. Oprav obojí.

Příklady

Vstupproducts = [{ name: "Myš", price: 500 }, { name: "Monitor", price: 4000 }, { name: "Klávesnice", price: 1200 }], limit = 1000
Výstup["Klávesnice", "Monitor"]
Vstupproducts = [{ name: "Drahé", price: 300 }, { name: "Levné", price: 150 }, { name: "Střední", price: 200 }], limit = 100
Výstup["Levné", "Střední", "Drahé"]
Nápověda

TS hlásí, že vracíš Product[], ale funkce slibuje string[]. Názvy z produktů vytáhneš přes map((p) => p.name). A sort() bez porovnávací funkce řadí jako text – řaď podle price.

Ukázat řešení
1type Product = {2  name: string;3  price: number;4};5 6function expensiveNames(products: Product[], limit: number): string[] {7  return products8    .filter((p) => p.price > limit)9    .sort((a, b) => a.price - b.price)10    .map((p) => p.name);11}12 
reseni.tsTypeScript 6.0.3
Tab odsadí · Esc a Tab opustí editor
Typová kontrola

Kód se zkontroluje automaticky, jakmile se načte TypeScript.

Testy4 testy

Napiš řešení a stiskni Spustit testy.