Saya bertanya-tanya apakah ada cara yang dikenal, bawaan / elegan untuk menemukan elemen pertama dari array JS yang cocok dengan kondisi tertentu. Setara dengan AC # adalah List.Find .
Sejauh ini saya telah menggunakan kombo dua fungsi seperti ini:
// 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);
};
Dan kemudian saya bisa menggunakan:
var result = someArray.findFirst(isNotNullNorUndefined);
Tetapi karena ada begitu banyak metode array gaya fungsional dalam ECMAScript , mungkin sudah ada sesuatu di luar sana seperti ini? Saya membayangkan banyak orang harus menerapkan hal-hal seperti ini setiap saat ...
return (typeof (o) !== 'undefined' && o !== null);turun ke ini return o != null;. Mereka persis setara.