ฉันสงสัยว่ามีวิธีที่รู้จักในตัว / หรูหราเพื่อค้นหาองค์ประกอบแรกของอาร์เรย์ JS ที่ตรงกับเงื่อนไขที่กำหนดหรือไม่ AC # เทียบเท่าจะList.Find
จนถึงตอนนี้ฉันได้ใช้คอมโบสองฟังก์ชันดังนี้:
// 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;
พวกมันเทียบเท่ากันหมด