Как найти первый элемент массива, соответствующий логическому условию в JavaScript?
Мне интересно, существует ли известный, встроенный / элегантный способ найти первый элемент массива JS, соответствующий заданному условию. Эквивалент C # будетList.Find.
До сих пор я использовал двухфункциональную комбинацию, подобную этой:
<code>// Returns the first element of an array that satisfies given predicate Array.prototype.findFirst = function (predicateCallback) { if (typeof predicateCallback !== 'function') { return undefined; } for (var i = 0; i < arr.length; i++) { if (i in this && predicateCallback(this[i])) return this[i]; } return undefined; }; // Check if element is not undefined && not null isNotNullNorUndefined = function (o) { return (typeof (o) !== 'undefined' && o !== null); }; </code>
И тогда я могу использовать:
<code>var result = someArray.findFirst(isNotNullNorUndefined); </code>
Но так как естьтак много методов массивов функционального стиля в ECMAScriptВозможно, там что-то уже есть? Я полагаю, что многие люди должны все время реализовывать подобные вещи ...