code: function findIndex (arrayLike, predicate) {
      var result = -1;
  
      for (var i = 0, len = arrayLike.length; i < len; i++) {
          if (predicate(arrayLike[i], i, arrayLike)) {
              result = i;
              break;
          }
      }
  
      return result;
  }
docs: Searches for an element satisfying the predicate in the given array-like object and returns its
  index if the search is successful. Returns <code>-1</code> otherwise.
  @example
  var persons = [
  {"name": "Jane", "surname": "Doe", "age": 12},
  {"name": "John", "surname": "Doe", "age": 40},
  {"name": "Mario", "surname": "Rossi", "age": 18},
  {"name": "Paolo", "surname": "Bianchi", "age": 40}
  ];
  
  _.findIndex(persons, _.hasKeyValue("age", 40)) // => 1
  _.findIndex(persons, _.hasKeyValue("age", 41)) // => -1
  
  @memberof module:lamb
  @category Array
  @see {@link module:lamb.findIndexWhere|findIndexWhere}
  @see {@link module:lamb.find|find}, {@link module:lamb.findWhere|findWhere}
  @since 0.7.0
  @param {ArrayLike} arrayLike
  @param {ListIteratorCallback} predicate
  @returns {Number}