Funkcionální zpracování dat

Ukážeme si šikovné funkce pro práci s daty jako map a filter, a také takzvané destrukturování.

Funkcionální zpracování dat

V praxi často narazíme na potřebu zpracovat větší množství dat, která jsme například vytáhli z databáze v naší aplikaci. Chceme provádět vyhledávání, datazování, transformace či agregace. K takovému účelu se často použije nějaká forma cyklu. Z předchozího kurzu již známe cyklus forEach. Brzy však narazíme na mnoho často se opakující situací a konstrukcí, pro které má JavaScript připravené specializované metody.

Vyhledávání a dotazování:

  • Array.find
  • Array.findIndex
  • Array.every
  • Array.some

Transformace:

  • Array.map
  • Array.filter

Agregace:

  • Array.join

Zkracování arrow funkcí

Předtím, než se podíváme na samotné metody, ukážeme si, jak se dají zkrátit arrow funkce. Pokud arrow funkce nedělá nic jiného, než že vrací nějakou hodnotu, je možné vynechat složené závorky a klíčové slovo return. Obě níže napsané funkce budou fungovat a vrátí nám řetězec s pozdravem.

const greetFunction = (name) => {
  return `Hi, ${name}`;
};

const shortGreetFunction = (name) => `Hi, ${name}`;

console.log(greetFunction('Alex'));
console.log(shortGreetFunction('Alex'));

Nemusíme samozřejme vracet jen řetězec.

const createPerson = (name, age, gender) => ({
  name: name,
  age: age,
  gender: gender,
});

Je dobré si dát pozor, aby náš kód zůstal čitelný. Pokud je funkce jasná a jednoduchá, zkrácení se vyplatí. Pokud pracujeme s obřími objekty, může se vyplatit napsat funkci běžným způsobem.