Je me demande s'il existe une méthode connue, intégrée / élégante pour trouver le premier élément d'un tableau JS correspondant à une condition donnée. L'équivalent AC # serait List.Find .
Jusqu'à présent, j'utilise un combo à deux fonctions comme celui-ci:
// 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);
};
Et puis je peux utiliser:
var result = someArray.findFirst(isNotNullNorUndefined);
Mais comme il y a tellement de méthodes de tableau de style fonctionnel dans ECMAScript , peut-être qu'il y a déjà quelque chose comme ça? J'imagine que beaucoup de gens doivent implémenter des trucs comme ça tout le temps ...
return (typeof (o) !== 'undefined' && o !== null);
jusqu'à cela return o != null;
. Ils sont exactement équivalents.