mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 17:37:50 +00:00
Move internal modules to “internal” folder.
This commit is contained in:
29
.internal/baseSortedUniq.js
Normal file
29
.internal/baseSortedUniq.js
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.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;
|
||||
Reference in New Issue
Block a user