@newdash/newdash
Version:
javascript/typescript utility library
27 lines (26 loc) • 967 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const eq_1 = __importDefault(require("../eq"));
/**
* 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) {
var index = -1, length = array.length, resIndex = 0, result = [];
while (++index < length) {
var value = array[index], computed = iteratee ? iteratee(value) : value;
if (!index || !(0, eq_1.default)(computed, seen)) {
var seen = computed;
result[resIndex++] = value === 0 ? 0 : value;
}
}
return result;
}
exports.default = baseSortedUniq;