Remove baseNth.

This commit is contained in:
John-David Dalton
2017-03-12 23:24:54 -07:00
parent c89637e4db
commit 2f281c68b0
3 changed files with 10 additions and 26 deletions

View File

@@ -1,20 +0,0 @@
import isIndex from './isIndex.js'
/**
* The base implementation of `nth` which doesn't coerce arguments.
*
* @private
* @param {Array} array The array to query.
* @param {number} n The index of the element to return.
* @returns {*} Returns the nth element of `array`.
*/
function baseNth(array, n) {
const { length } = array
if (!length) {
return
}
n += n < 0 ? length : 0
return isIndex(n, length) ? array[n] : undefined
}
export default baseNth

10
nth.js
View File

@@ -1,4 +1,4 @@
import baseNth from './.internal/baseNth.js'
import isIndex from './.internal/isIndex.js'
import toInteger from './toInteger.js'
/**
@@ -21,7 +21,13 @@ import toInteger from './toInteger.js'
* // => 'c'
*/
function nth(array, n) {
return (array != null && array.length) ? baseNth(array, toInteger(n)) : undefined
const length = array == null ? 0 : array.length
if (!length) {
return
}
n = toInteger(n)
n += n < 0 ? length : 0
return isIndex(n, length) ? array[n] : undefined
}
export default nth

View File

@@ -1,5 +1,4 @@
import baseNth from './.internal/baseNth.js'
import toInteger from './toInteger.js'
import nth from './nth.js'
/**
* Creates a function that gets the argument at index `n`. If `n` is negative,
@@ -20,8 +19,7 @@ import toInteger from './toInteger.js'
* // => 'c'
*/
function nthArg(n) {
n = toInteger(n)
return (...args) => baseNth(args, n)
return (...args) => nth(args, n)
}
export default nthArg