Here you can find the source of keys()
/* global ArrayIterator*/ Array.prototype.keys = function keys () { return new ArrayIterator(this, 'key'); };
Array.prototype.containsProp = function(key,str) { var i = this.length, holder = []; while (i--) { if (this[i][key] === str) { holder.push(this[i]); return holder; ...
Array.prototype.containsReturn = function(key, value) { var i = this.length; while (i--) { if (this[i][key] === value){ return i; return false;
Array.prototype.getKeys = function(){ var keys = ''; for(var i in this) keys += ',' + i; return keys.substr(1).split(',');
Array.prototype.hasKey = function(){ for(i in this){ if(i === arguments[0]) return true; }; return false; };
Array.prototype.hasMultipleByKey = function(key) { var foundOnce = false; var i = this.length - 1; while (i >= 0) { if (this[i].getKey() === key) { if (foundOnce) return true; else foundOnce = true; ...
Array.prototype.notIn = function( key, array ) return this.filter( function(element) var flag = true; for(var i = 0; i < array.length; i++) if( element[key] == array[i][key]) flag = false; return flag; }); };
Array.prototype.objectIndex = function(key,value) { for(var i = 0, len = this.length; i < len; i++) { if (this[i][key] === value) return i; return -1;
Array.prototype.options = function(textKey, valueKey) { var options = []; options = this.map(function(item) { return { text: item[textKey], value: item[valueKey] } }); return options;
Array.prototype.updateObject = function (id, key, value_key, value) { for (var i = 0; i < this.length; i++) { if (this[i][key] == value) { return this[i][value_key] = value; };