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. AC # -Äquivalent wäre List.Find .
Bisher habe ich eine Kombination mit zwei Funktionen wie diese verwendet:
// 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);
};
Und dann kann ich verwenden:
var result = someArray.findFirst(isNotNullNorUndefined);
Aber da es in ECMAScript so viele Array-Methoden im funktionalen Stil gibt, gibt es vielleicht schon so etwas? Ich stelle mir vor, dass viele Leute ständig solche Dinge implementieren müssen ...
return (typeof (o) !== 'undefined' && o !== null);auf das return o != null;. Sie sind genau gleichwertig.