Array a Boolean

Jednou z nepříjemností JavaScriptu staré školy byly vedlejší účinky; pak Array.prototype dostal metody jako filter , map a forEach takže jsme nemuseli vypalovat proměnné před opakováním hodnot. Nedokážu vysvětlit, jak jsem šťastný, že se jazyk JavaScript stále vyvíjí.

Jednou za čas potřebuji filtrovat pole podle ne jeho původní hodnotu, ale místo toho novou hodnotu, takže používám map :

myArray.map(item => {
    // Do whatever processing...

    // If we don't care about the item, return false or null or undefined
    return false;
});

I když získám nové hodnoty, které chci, někdy, když iterace vrátí výsledek, který nechci, vrátím hodnotu null nebo false, což je skvělé, ale ve výsledném poli mi pak zůstane hromada zbytečných položek. Dalším krokem je použití filtru, v takovém případě bych mohl udělat:

myArray
    .map(item => {
        // ...
    })
    // Get rid of bad values
    .filter(item => item);

Protože hodnoty, které nechci, nejsou pravdivé, filtr výše tyto špatné položky odstraní. Věděli jste, že s Boolean existuje jasnější způsob? ?

myArray
    .map(item => {
        // ...
    })
    // Get rid of bad values
    .filter(Boolean);

Pokud hodnota není pravdivá, položka je odfiltrována a zbydou mi pouze položky, které chci!