Nodejs Array Value nIndexOf(value)

Here you can find the source of nIndexOf(value)

Method Source Code

//Implementing the indexof function in javascript with the binarysearch.

Array.prototype.nIndexOf = function(value){
    var firstIndex = 0,
        lastIndex = this.length - 1,
        middleIndex = Math.floor((lastIndex + firstIndex) / 2);

    while (this[middleIndex] != value && firstIndex < lastIndex) {

        if (value < this[middleIndex]) {
            lastIndex = middleIndex - 1;
        } else if (value > this[middleIndex]) {
            firstIndex = middleIndex + 1;
        }/* www  .  ja v  a 2s.  c o  m*/
        middleIndex = Math.floor((firstIndex + lastIndex) / 2);
    }

    return (this[middleIndex] != value) ? -1 : middleIndex;
};

var array = ['1','2','3','4','5','6','7','8'];
console.log(array.nIndexOf(9));

Related

  1. first(attribut, value)
    Array.prototype.first = function (attribut, value) {
        for (var i = 0; i < this.length; i++) {
            if (this[i][attribut] == value)
                return this.slice(i, i + 1)[0];
        return null;
    };
    
  2. getNextValue(index)
    Array.prototype.getNextValue = function(index) {
      let nextIndex = index + 1;
      if(nextIndex < this.length) {
        return this[nextIndex];
      return null;
    
  3. hasWhere(property, value)
    Array.prototype.hasWhere = function (property, value) {
        "use strict";
        for(var i = 0; i < this.length; i++) {
            if(this[i][property] === value) {
                return true;
        return false;
    };
    ...
    
  4. iReduce(handler, initialValue)
    var ary = [0,1,2,3,4,5,6,7,8,9];
    var initialValue;
    Array.prototype.iReduce = function(handler, initialValue) {
      if (typeof handler !== 'function') {
        throw new Error(handler + 'is not a function!');
      var ary = this;
      var i = 0;
      var tempCurrent = initialValue;
    ...
    
  5. makeArray(value){
    Array.makeArray = function(value){
      if ( !value ) return [];
      if ( typeof value == "string" ) return [value];
      return Array.prototype.slice.call(value, 0);
    };
    
  6. oneValue()
    Array.prototype.oneValue = function()
        var max = this[0];
        for(el in this)
            if(this[el] !== max && !isNaN(this[el]))
                return false;
        return true;
    };
    
  7. pad(minSize, val)
    Array.prototype.pad = function(minSize, val) {
        var padded = new Array();
        for (var i = 0; i < this.length; i++) {
            padded.push(this[i]);
        while (padded.length < minSize) {
            padded.push(val || null);
        return padded;
    ...
    
  8. plumRemove(elemVal)
    Array.prototype.plumRemove = function(elemVal){
      var i = this.indexOf(elemVal);
      if(i>-1){
        this.splice(i, 1);
    };
    
  9. query(field, operator, value)
    Array.prototype.query = function (field, operator, value) { 
        if (operator=="contains"){
            value = value.toLowerCase();
          return this.filter(function (item){
           return item[field].toLowerCase().indexOf(value) !== -1;   
        });
      else if(operator == "==") {
        return this.filter(function (item){
    ...