JSFiddle - React, Tailwind, and code Playground

JavaScript

var products = [{"price": 150, "color":"blue"},
     {"price": 50, "color":"blue"},
     {"price": 150, "color":"red"},
     {"price": 50, "color":"red"}];

function validateProduct(listOfFunctions) {
    return function(currentProduct) {
        return listOfFunctions.every(function(currentFunction) {
            return currentFunction(currentProduct);
        });
    }
}

function cheap(product) {
    return product.price < 100;
}

function red(product) {
    return product.color == "red";
}

function filterMyProducts(criteria) {
    return products.filter(validateProduct(criteria));
}

console.log(filterMyProducts([cheap, red]));