¿Cómo encontrar el primer elemento de la matriz que coincida con una condición booleana en JavaScript?

Me pregunto si hay una forma conocida, integrada / elegante de encontrar el primer elemento de una matriz JS que coincida con una condición determinada. Un equivalente de C # seríaLista.Encontrar.

Hasta ahora he estado usando un combo de dos funciones como este:

<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>

Y luego puedo usar:

<code>var result = someArray.findFirst(isNotNullNorUndefined);
</code>

Pero ya que haytantos métodos de matriz de estilo funcional en ECMAScript, tal vez hay algo por ahí ya como esto? Me imagino que mucha gente tiene que implementar cosas como esta todo el tiempo ...

Respuestas a la pregunta(10)

Su respuesta a la pregunta