News for hackers. Stuff that matters.

jonjaques

Re:Imperative vs. Declarative on Tuesday April 02, 2013 @03:47PM (#5481677)
OP could definitely have used more examples, but I think he's on the right track. Where declarative or functional programming comes in really handy is composition. Underscore has a lot of utilities that make it easy.

  var genericFilter = function(type, value) {
    return function(items) {
      return _.filter(items, function(i) {
        return i[type] === value;
      });
    }
  };

  var sizeFilter = genericFilter('size', selectedSize);
  var brandFilter = genericFilter('brand', selectedBrand);

  var appliedFilters = _.compose(sizeFilter, brandFilter);

  var filteredItems = appliedFilters(items);
  // which ends up doing  sizeFilter(brandFilter(items));
// edit for sloppy code;
Re:Default Parameters in JavaScript on Tuesday March 19, 2013 @07:04PM (#5404238)
Library agnostic version if anyone cares for it: https://gist.github.com/jonjaques/3036701