Sha256: 4946881b055f2bad7274af823c490e8be1b06cbc78286c15c71f68f006e8cdf4

Contents?: true

Size: 601 Bytes

Versions: 29

Compression:

Stored size: 601 Bytes

Contents

'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;
};

Version data entries

29 entries across 19 versions & 7 rubygems

Version Path
guard-sass-lint-0.1.2 node_modules/es5-ext/array/#/binary-search.js
guard-sass-lint-0.1.1 node_modules/es5-ext/array/#/binary-search.js
lanes-0.8.0 node_modules/es5-ext/array/#/binary-search.js
node-compiler-0.9.1 vendor/node/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/binary-search.js
node-compiler-0.9.0 vendor/node-v7.2.1/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/binary-search.js
node-compiler-0.8.0 vendor/node-v7.2.0/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/binary-search.js
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/es5-ext/array/#/binary-search.js
node-compiler-0.7.0 vendor/node-v7.1.0/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/binary-search.js
node-compiler-0.7.0 vendor/node-v6.9.1/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/binary-search.js
xcodebuild-helper-1.2.3 externals/ios-sim-master/node_modules/es5-ext/array/#/binary-search.js
blackboard-3.1.9 lib/site_template/node_modules/es5-ext/array/#/binary-search.js
eslint_node_modules-1.6.0.1 vendor/node_modules/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/array/#/binary-search.js
eslint_node_modules-1.6.0.1 vendor/node_modules/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/binary-search.js
eslint_node_modules-1.6.0 vendor/node_modules/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/binary-search.js
eslint_node_modules-1.6.0 vendor/node_modules/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/array/#/binary-search.js
entangled-0.0.16 spec/dummy/public/node_modules/bower/node_modules/inquirer/node_modules/cli-color/node_modules/es5-ext/array/#/binary-search.js
entangled-0.0.16 spec/dummy/public/node_modules/bower/node_modules/insight/node_modules/inquirer/node_modules/cli-color/node_modules/es5-ext/array/#/binary-search.js
entangled-0.0.15 spec/dummy/public/node_modules/bower/node_modules/inquirer/node_modules/cli-color/node_modules/es5-ext/array/#/binary-search.js
entangled-0.0.15 spec/dummy/public/node_modules/bower/node_modules/insight/node_modules/inquirer/node_modules/cli-color/node_modules/es5-ext/array/#/binary-search.js
entangled-0.0.14 spec/dummy/public/node_modules/bower/node_modules/inquirer/node_modules/cli-color/node_modules/es5-ext/array/#/binary-search.js