| var eq = require('./eq'); |
| |
| /** |
| * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without |
| * support for iteratee shorthands. |
| * |
| * @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) { |
| var index = -1, |
| length = array.length, |
| resIndex = 0, |
| result = []; |
| |
| while (++index < length) { |
| var value = array[index], |
| computed = iteratee ? iteratee(value) : value; |
| |
| if (!index || !eq(computed, seen)) { |
| var seen = computed; |
| result[resIndex++] = value === 0 ? 0 : value; |
| } |
| } |
| return result; |
| } |
| |
| module.exports = baseSortedUniq; |