averageBy

모든 원소에 대한 키의 평균 — map + average를 한 단계로, 비어 있으면 NaN입니다.

double averageBy<A>(num Function(A a) f, Iterable<A> iterable) Future<double> averageByAsync<A>(FutureOr<num> Function(A a) f, FxAsyncIterable<A> iterable) double Fx<T>.averageBy(num Function(T a) f) // chain (sync) Future<double> FxAsync<T>.averageBy(FutureOr<num> Function(T a) f) // chain (async)

강의

averageBy는 by-key 계열 (sumBy · maxBy · minBy)을 완성합니다. 각 원소에서 숫자 키를 뽑아내 키들의 평균을 구하며, 누적 합과 개수를 함께 추적하는 단 한 번의 순회로 처리합니다.

동작 규약은 average와 같습니다. 빈 파이프라인은 double.nan을 반환하며 (0 / 0을 계산한 결과입니다), 결코 0이 아닙니다 — 입력이 비어 있을 수 있다면 result.isNaN으로 확인하세요. 결과는 항상 double입니다.

데모 1 · 기본 사용법 & 빈 경우

데모 2 · 비동기 키

직접 해 보기

연습: 읽은 책들의 페이지 수만 한 번의 호출로 평균 내 보세요.

관련 항목: average — 파이프라인이 이미 숫자를 담고 있을 때 · sumBy — 분자에 해당하는 사촌 · maxBy · minBy — 계열의 나머지