Wie finde ich das erste Element eines Arrays, das einer booleschen Bedingung in JavaScript entspricht?

Ich frage mich, ob es eine bekannte, integrierte / elegante Möglichkeit gibt, das erste Element eines JS-Arrays zu finden, das einer bestimmten Bedingung entspricht. Ein C # -Äquivalent wäreList.Find.

Bisher habe ich eine Zweifunktionskombination wie diese verwendet:

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

Und dann kann ich verwenden:

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

Aber da gibt esSo viele Array-Methoden im funktionalen Stil in ECMAScript, vielleicht gibt es da draußen schon so etwas? Ich stelle mir vor, dass viele Leute ständig solche Dinge implementieren müssen ...

Antworten auf die Frage(10)

Ihre Antwort auf die Frage