/
eb
/
Surf
Обзор
Документация
Войти
/
eb
/
Surf
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/es5-ext/array/#/binary-search.js
27 строк
600 B
EvgeniyBudaev
Initial commit
17 фев 2020, 09:02
17 фев 2020, 09:02
bb6f06f
Код
Авторство
О чём код?
"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; };