nth.js

  1. import { nativeUndefined } from './internals/native';
  2. import isArrayLike from './isArrayLike';
  3. /**
  4. * 获取类数组的第 `n` 个元素。如果 `n` 为负数,则返回从数组结尾开始的第 `n` 个元素。
  5. *
  6. * 同 `Array.prototype.at` 方法。
  7. *
  8. * @alias module:Array.nth
  9. * @since 1.0.0
  10. * @param {ArrayLike} array 要查询的类数组。
  11. * @param {number} [n=0] 要返回元素的索引值。默认 `0`。
  12. * @returns {*} 类数组的第 `n` 个元素。
  13. * @example
  14. *
  15. * const arr = ['a', 'b', 'c', 'd'];
  16. *
  17. * nth(arr, 1); // 'b'
  18. *
  19. * nth(arr, -2); // 'c'
  20. *
  21. * nth('abcd', 1); // 'b'
  22. *
  23. */
  24. const nth = function (array, n = 0) {
  25. if (!isArrayLike(array)) {
  26. return nativeUndefined;
  27. }
  28. n += n < 0 ? array.length : 0;
  29. return array[n];
  30. };
  31. export default nth;