code: function(object, func, thisp) {
  		var res = [];
  		for (var key in object) {
  			res.push(func.call(thisp, key, object[key]));
  		}
  		return res.filter(function(result) {
  			return result !== undefined;
  		});
  	}
docs: Call function for all properties in object (including prototype stuff)
  with key and value as arguments. Returns array of function call results.
  @param {object} object
  @param {function} func
  @param @optional {object} thisp