Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any way to make jQuery.inArray() case insensitive?

Tags:

arrays

jquery

Title sums it up.

like image 316
JD Isaacks Avatar asked Aug 02 '10 19:08

JD Isaacks


Video Answer


1 Answers

In case anyone wanted a more integrated approach using jquery:

(function($){     $.extend({         // Case insensative $.inArray (http://api.jquery.com/jquery.inarray/)         // $.inArrayIn(value, array [, fromIndex])         //  value (type: String)         //    The value to search for         //  array (type: Array)         //    An array through which to search.         //  fromIndex (type: Number)         //    The index of the array at which to begin the search.         //    The default is 0, which will search the whole array.         inArrayIn: function(elem, arr, i){             // not looking for a string anyways, use default method             if (typeof elem !== 'string'){                 return $.inArray.apply(this, arguments);             }             // confirm array is populated             if (arr){                 var len = arr.length;                     i = i ? (i < 0 ? Math.max(0, len + i) : i) : 0;                 elem = elem.toLowerCase();                 for (; i < len; i++){                     if (i in arr && arr[i].toLowerCase() == elem){                         return i;                     }                 }             }             // stick with inArray/indexOf and return -1 on no match             return -1;         }     }); })(jQuery); 
like image 180
Brad Christie Avatar answered Nov 10 '22 21:11

Brad Christie