与えられた条件に一致するJS配列の最初の要素を見つけるための既知の組み込み/エレガントな方法があるかどうか疑問に思っています。C#に相当するものはList.Findです。
これまでのところ、私は次のような2つの機能を持つコンボを使用しています。
// 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);
};
そして、私は使うことができます:
var result = someArray.findFirst(isNotNullNorUndefined);
しかし、ECMAScriptには非常に多くの関数型の配列メソッドがあるので、おそらくすでにこのようなものがあるのでしょうか。多くの人がいつもこのようなものを実装しなければならないと思います...
return (typeof (o) !== 'undefined' && o !== null);
、これにダウンreturn o != null;
。それらはまったく同じです。