code: function getIndex (arrayLike, index) {
      var idx = _toNaturalIndex(index, _toArrayLength(arrayLike.length));
  
      return idx === idx ? arrayLike[idx] : void 0; // eslint-disable-line no-self-compare
  }
docs: Retrieves the element at the given index in an array-like object.<br/>
  Like {@link module:lamb.slice|slice} the index can be negative.<br/>
  If the index isn't supplied, or if its value isn't an integer within the array-like bounds,
  the function will return <code>undefined</code>.<br/>
  <code>getIndex</code> will throw an exception when receives <code>null</code> or
  <code>undefined</code> in place of an array-like object, but returns <code>undefined</code>
  for any other value.
  @example
  var arr = [1, 2, 3, 4, 5];
  
  _.getIndex(arr, 1) // => 2
  _.getIndex(arr, -1) // => 5
  
  @memberof module:lamb
  @category Array
  @see {@link module:lamb.getAt|getAt}
  @see {@link module:lamb.head|head} and {@link module:lamb.last|last} for common use cases shortcuts.
  @since 0.23.0
  @param {ArrayLike} arrayLike
  @param {Number} index
  @returns {*}