Skip to content

Commit 3223c75

Browse files
committed
Update dist.
1 parent c3deaa0 commit 3223c75

File tree

2 files changed

+34
-15
lines changed

2 files changed

+34
-15
lines changed

dist/utils.js

+14-3
Original file line numberDiff line numberDiff line change
@@ -290,20 +290,31 @@
290290
},
291291

292292
sort: function (list, key) {
293+
var isArray = TypeUtil.isArray;
294+
var isObject = TypeUtil.isObject;
295+
var isNumber = TypeUtil.isNumber;
296+
var isString = TypeUtil.isString;
297+
293298
var compare = function (a, b) {
294299
var aVal;
295300
var bVal;
296301

297-
if (TypeUtil.isString(key)) {
302+
if (isObject(a) && isObject(b) && isString(key)) {
303+
// comparing objects
298304
aVal = key in a ? a[key] : a;
299305
bVal = key in b ? b[key] : b;
306+
} else if (isArray(a) && isArray(b) && isNumber(key)) {
307+
// comparing arrays
308+
var index = key;
309+
aVal = index >= 0 && index < a.length ? a[index] : a;
310+
bVal = index >= 0 && index < b.length ? b[index] : b;
300311
} else {
301312
aVal = a;
302313
bVal = b;
303314
}
304315

305-
var aValIsNum = TypeUtil.isNumber(aVal);
306-
var bValIsNum = TypeUtil.isNumber(bVal);
316+
var aValIsNum = isNumber(aVal);
317+
var bValIsNum = isNumber(bVal);
307318

308319
if (aValIsNum && bValIsNum) {
309320
return aVal <= bVal ? -1 : 1;

dist/utils.min.js

+20-12
Original file line numberDiff line numberDiff line change
@@ -178,18 +178,26 @@
178178
return e;
179179
},
180180
sort: function (n, t) {
181-
return n.sort(function (n, r) {
182-
var e, i;
183-
S.isString(t)
184-
? ((e = t in n ? n[t] : n), (i = t in r ? r[t] : r))
185-
: ((e = n), (i = r));
186-
var a = S.isNumber(e),
187-
o = S.isNumber(i);
188-
if (a && o) return e <= i ? -1 : 1;
189-
if (a) return -1;
190-
if (o) return 1;
191-
var u = [e, i];
192-
return u.sort(), u.indexOf(e) <= u.indexOf(i) ? -1 : 1;
181+
var r = S.isArray,
182+
e = S.isObject,
183+
i = S.isNumber,
184+
a = S.isString;
185+
return n.sort(function (n, o) {
186+
var u, c;
187+
if (e(n) && e(o) && a(t))
188+
(u = t in n ? n[t] : n), (c = t in o ? o[t] : o);
189+
else if (r(n) && r(o) && i(t)) {
190+
var s = t;
191+
(u = s >= 0 && s < n.length ? n[s] : n),
192+
(c = s >= 0 && s < o.length ? o[s] : o);
193+
} else (u = n), (c = o);
194+
var f = i(u),
195+
l = i(c);
196+
if (f && l) return u <= c ? -1 : 1;
197+
if (f) return -1;
198+
if (l) return 1;
199+
var g = [u, c];
200+
return g.sort(), g.indexOf(u) <= g.indexOf(c) ? -1 : 1;
193201
});
194202
},
195203
sum: function (t, r) {

0 commit comments

Comments
 (0)