Tôi đang tự hỏi liệu có một cách được biết đến, tích hợp / thanh lịch để tìm phần tử đầu tiên của mảng JS phù hợp với một điều kiện nhất định không. Tương đương AC # sẽ là List.Find .
Cho đến nay tôi đã sử dụng kết hợp hai chức năng như thế này:
// 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);
};
Và sau đó tôi có thể sử dụng:
var result = someArray.findFirst(isNotNullNorUndefined);
Nhưng vì có rất nhiều phương thức mảng kiểu chức năng trong ECMAScript , có lẽ có một cái gì đó ngoài kia đã như thế này? Tôi tưởng tượng rất nhiều người phải thực hiện những thứ như thế này mọi lúc ...
return (typeof (o) !== 'undefined' && o !== null);
xuống cái này return o != null;
. Chúng chính xác tương đương.