コレクションで max と argmax を使用したい。maxには問題がありましたが、argmax には問題がありませんでした。これは、私が考えていたものとは異なって見えます。ここにあるものはすべて、min と argmin にも適用できます。同等の動作をするコードの例 (エラー処理を除く):
import 'dart:html';
import 'dart:math' as math;
void main() {
final nums = [3, 1, 2];
final animalNames = ['cat', 'turtle', 'sheep'];
final highest = nums.reduce(nums[0], (stored, curr) => math.max(stored, curr));
final longest = animalNames.reduce(animalNames[0], longerString);
print('highest: $highest');
print('longest: $longest');
}
String longerString(final String first, final String second) {
if (first.length < second.length) {
return second;
} else {
return first;
}
}
私はAPIを検索してきましたが、次のようなものは見つかりませんでした:
final highest = nums.max;
final longest = animalNames.argmax((name) => name.length);
Ruby のmax と max_byに似ています。
質問:
- これらのような API 呼び出しは既にありますか (確認していない名前で)?
- 作る予定はありますか?
- 問題を提起する必要がありますか?