Here you can find the source of firstOrDefault(predicate)
Array.prototype.firstOrDefault = function (predicate) { if (predicate && typeof predicate === 'function') { for (var i = 0; i < this.length; i++) { if (predicate(this[i])) return this[i]; }/* w ww.j a v a 2 s . co m*/ return null; } else { return this.length > 0 ? this[0] : null; } };
"use strict"; var firstOrDefault = function (array, expr) { if (typeof expr === "function") { array = array.filter(expr); return typeof array[0] === "undefined" ? null : array[0]; }; Array.prototype.firstOrDefault = function (expr) { return firstOrDefault(this, expr); ...
Array.prototype.firstOrDefault = function(func) { var elements = this.filter(func) if (elements.length > 0) return elements[0] else return undefined