function matches (item, object, key) {
  return has(item, key) && has(object, key) && item[key] === object[key];
}
Like Array#indexOf but for objects used like hashes

Example:
   var arr = [];
   var obj = { a: 1, b: 2, c: 'a b c'};
   var obj2 = { a: 1, b: 2, c: 'a b c'}; // same key/value pairs
   arr.push(obj);
   arr.indexOf(obj); // 0
   arr.indexOf(obj2); // -1
   indexOfObject = require('array-indexofobject');
   indexOfObject(arr, obj); // 0
   indexOfObject(arr, obj2); // 0

@param {Array}
@param {Object}
@param {Sting|Array} (optional)
@return {Number}