Files
lodash/.internal/baseSortedUniq.js
John-David Dalton 6cb3460fce Remove semicolons.
2017-02-05 22:22:04 -08:00

30 lines
705 B
JavaScript

import eq from '../eq.js'
/**
* The base implementation of `sortedUniq` and `sortedUniqBy`.
*
* @private
* @param {Array} array The array to inspect.
* @param {Function} [iteratee] The iteratee invoked per element.
* @returns {Array} Returns the new duplicate free array.
*/
function baseSortedUniq(array, iteratee) {
let seen
let index = -1
let resIndex = 0
const length = array.length
const result = []
while (++index < length) {
const value = array[index], computed = iteratee ? iteratee(value) : value
if (!index || !eq(computed, seen)) {
seen = computed
result[resIndex++] = value === 0 ? 0 : value
}
}
return result
}
export default baseSortedUniq