增加晶全app静态页面
This commit is contained in:
27
node_modules/es5-ext/array/#/binary-search.js
generated
vendored
Normal file
27
node_modules/es5-ext/array/#/binary-search.js
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
|
||||
var toPosInt = require("../../number/to-pos-integer")
|
||||
, callable = require("../../object/valid-callable")
|
||||
, value = require("../../object/valid-value")
|
||||
, floor = Math.floor;
|
||||
|
||||
module.exports = function (compareFn) {
|
||||
var length, low, high, middle;
|
||||
|
||||
value(this);
|
||||
callable(compareFn);
|
||||
|
||||
length = toPosInt(this.length);
|
||||
low = 0;
|
||||
high = length - 1;
|
||||
|
||||
while (low <= high) {
|
||||
middle = floor((low + high) / 2);
|
||||
if (compareFn(this[middle]) < 0) high = middle - 1;
|
||||
else low = middle + 1;
|
||||
}
|
||||
|
||||
if (high < 0) return 0;
|
||||
if (high >= length) return length - 1;
|
||||
return high;
|
||||
};
|
Reference in New Issue
Block a user