indexzero
8/3/2015 - 2:51 PM

Simple sanitization and filtering in JavaScript

Simple sanitization and filtering in JavaScript

var filtered = {
  bazz: true,
  buzz: true
};

var maps = {
  foo: function (value, acc) {
    return value * 10;
  },
  bar: function (value, acc) {
    return value * 20
  }
};

function sanitize(obj) {
  return Object.keys(obj).reduce(function (acc, key) {
    if (filtered[key]) { return acc; }
    
    acc[key] = maps[key] 
      ? maps[key](obj[key], acc) 
      : obj[key];
  
    return acc;
  }, {});
}

console.log(sanitize({
  bazz: 100,
  buzz: 10,
  fizzbuzz: 50,
  foo: 50,
  bar: 20
}));