mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 07:17:50 +00:00
Re-optimize _.max, _.min, and _.sortedIndex.
Former-commit-id: 7f449a4fde6777f14a1def0d767f2926bdea07c9
This commit is contained in:
61
lodash.js
61
lodash.js
@@ -697,8 +697,8 @@
|
||||
'top': '',
|
||||
'useHas': true,
|
||||
'useStrict': isStrictFast,
|
||||
'arrayBranch': {},
|
||||
'objectBranch': {}
|
||||
'arrayBranch': { 'beforeLoop': '' },
|
||||
'objectBranch': { 'beforeLoop': '' }
|
||||
};
|
||||
|
||||
var object,
|
||||
@@ -2688,12 +2688,20 @@
|
||||
length = array ? array.length : 0,
|
||||
result = computed;
|
||||
|
||||
callback = createCallback(callback, thisArg);
|
||||
while (++index < length) {
|
||||
var current = callback(array[index], index, array);
|
||||
if (current > computed) {
|
||||
computed = current;
|
||||
result = array[index];
|
||||
if (callback) {
|
||||
callback = createCallback(callback, thisArg);
|
||||
while (++index < length) {
|
||||
var current = callback(array[index], index, array);
|
||||
if (current > computed) {
|
||||
computed = current;
|
||||
result = array[index];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
while (++index < length) {
|
||||
if (array[index] > result) {
|
||||
result = array[index];
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@@ -2723,12 +2731,20 @@
|
||||
length = array ? array.length : 0,
|
||||
result = computed;
|
||||
|
||||
callback = createCallback(callback, thisArg);
|
||||
while (++index < length) {
|
||||
var current = callback(array[index], index, array);
|
||||
if (current < computed) {
|
||||
computed = current;
|
||||
result = array[index];
|
||||
if (callback) {
|
||||
callback = createCallback(callback, thisArg);
|
||||
while (++index < length) {
|
||||
var current = callback(array[index], index, array);
|
||||
if (current < computed) {
|
||||
computed = current;
|
||||
result = array[index];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
while (++index < length) {
|
||||
if (array[index] < result) {
|
||||
result = array[index];
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@@ -2912,11 +2928,18 @@
|
||||
var low = 0,
|
||||
high = array ? array.length : low;
|
||||
|
||||
callback = createCallback(callback, thisArg);
|
||||
value = callback(value);
|
||||
while (low < high) {
|
||||
var mid = (low + high) >>> 1;
|
||||
callback(array[mid]) < value ? low = mid + 1 : high = mid;
|
||||
if (callback) {
|
||||
callback = createCallback(callback, thisArg);
|
||||
value = callback(value);
|
||||
while (low < high) {
|
||||
var mid = (low + high) >>> 1;
|
||||
callback(array[mid]) < value ? low = mid + 1 : high = mid;
|
||||
}
|
||||
} else {
|
||||
while (low < high) {
|
||||
var mid = (low + high) >>> 1;
|
||||
array[mid] < value ? low = mid + 1 : high = mid;
|
||||
}
|
||||
}
|
||||
return low;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user