Nodejs Array Search search(expression)

Here you can find the source of search(expression)

Method Source Code

Array.prototype.search=function(expression){
   var copy = expression;

   expression = expression.replace(/[a-zA-Z0-9]+/g, "#");
   var numbers = copy.split(/[^a-zA-Z0-9]+/).filter(function(n){return n});
   var operators = expression.split("#").filter(function(n){return n});
   var query = [],oi=0,ni=0;

   for(i = 0; i < expression.length; i++){
       if('-'==expression[i] || expression[i]=='+'){
           query.push(operators[oi++]);//from  w ww. j  a  va 2s.c  o m
       }else{
           query.push(numbers[ni++]);
       }
   }

   

}

Related

  1. search(k)
    Array.prototype.search = function(k){
      var a = this;
      this.sort(a);
      var max=a.length-1,min=0,mid;
      while(min<=max){
        mid=(max+min)>>>1;
        if(k>a[mid])
          min = mid+1;
        else if(k<a[mid])
    ...
    
  2. search(key)
    Array.prototype.search = function(key) {
      'use strict';
      var max = this.length - 1;
      var min = 0;
      var count = 0;
      while (min <= max) {
        var mid = Math.floor((min + max) / 2);
        if (this[mid] === key) {
          return {
    ...
    
  3. search(key, value)
    Array.prototype.search = function (key, value) {
        return this.reduce(function (result, el) {
            if (result) return result;
            if (key) {
                if (typeof key === "function") {
                    if (key(el) === value) {
                        return el;
                } else {
    ...
    
  4. search(key, value)
    Array.prototype.search = function (key, value) {
        if (arguments.length == 1) {
            return this.filter(function (e) {
                return e == value;
            });
        if (arguments.length == 2) {
            var k = arguments[0];
            var value = arguments[1];
    ...