mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-09 02:17:50 +00:00
wip: migrate to bun
This commit is contained in:
29
src/.internal/baseSortedUniq.ts
Normal file
29
src/.internal/baseSortedUniq.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
||||
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
|
||||
Reference in New Issue
Block a user