@extra-array/is-equal
Version:
Checks if two arrays are equal.
24 lines (23 loc) • 614 B
JavaScript
function id(v) {
return v;
}
function cmp(a, b) {
return a < b ? -1 : (a > b ? 1 : 0);
}
function compare(x, y, fc = null, fm = null) {
var fc = fc || cmp, fm = fm || id;
var X = x.length, Y = y.length;
for (var i = 0, I = Math.min(X, Y); i < I; i++) {
var u1 = fm(x[i], i, x);
var v1 = fm(y[i], i, y);
var c = fc(u1, v1);
if (c !== 0)
return c;
}
return Math.sign(X - Y);
}
function isEqual(x, y, fc = null, fm = null) {
var X = x.length, Y = y.length;
return X === Y && compare(x, y, fc, fm) === 0;
}
export { isEqual as default };