JSFiddle - React, Tailwind, and code Playground

by Gajus Kuizinas

HTML

<script src="https://rawgit.com/lodash/lodash/530bf7df9f869b7bc030f2936b79ff8799b14db3/lodash.js"></script>

JavaScript

var products = [],
    derivePrice1,
    derivePrice2,
    filterByPrice,
    cycleCount = 0;

derivePrice1 = function (product) {
    product.price += Math.random();
    
    return product;
};

derivePrice2 = function (product) {
    product.price -= Math.random();
    
    return product;
};

filterByPrice = function (product) {
    ++cycleCount;
    
    return product.price < 0.5;
};

products.length = 100000;

products = _.map(products, function () {
    return {
        price: 1
    };
});

products = _(products)
    .map(derivePrice1)
    .map(derivePrice2)
    .filter(filterByPrice)
    .take(5)
    .value();

console.log('products', products);
console.log('cycleCount', cycleCount);