我想在集合上使用 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 调用(以我尚未检查的某个名称)?
- 有没有计划制作它们?
- 我应该提出问题吗?