Here you can find the source of last(func)
Array.prototype.last = function (func) { var length = this.length - 1, item = null;//from w w w . j ava2 s . c om for (var i = length; i >= 0; i--) { if (func(this[i])) { item = this[i]; break; } } return item; }
Array.prototype.last = function () return this[ (this.length-1) ]; };
Array.prototype.last = function() { if (this.isEmpty()) { return null; return this[this.length - 1]; };
Array.prototype.last = function() { if (this.length == 0) return null return this.slice(this.length - 1)[0]
Array.prototype.last = function (arr) { return this[this.length-1]
Array.prototype.last = function(fn, scope) { if (Object.prototype.toString.call(this) !== '[object Array]') { throw new TypeError("`this` must be Array, not " + typeof this); if (typeof fn === 'undefined') { return this[this.length - 1]; if (typeof fn !== 'function') { throw new TypeError("Optional argument[0] must be predicate function if defined"); ...
Array.prototype.last = function (n) { 'use strict'; return this.slice(this.length - (n || 1), this.length); };
Array.prototype.last = function(n) { if (this.length == 0 || n < 0) return void 0; if (n == undefined) return this[this.length - 1]; if (n == 0) return []; return this.rest(this.length - n); };
Array.prototype.last = function (num) { if (num !== undefined) { return this.slice(-num); return this[this.length - 1]; };
Array.prototype.last = function (predicate, def) { var l = this.length; if (!predicate) return l ? this[l - 1] : def == null ? null : def; while (l-- > 0){ if (predicate(this[l], l, this)) return this[l]; return def == null ? null : def; }; ...