| 12345678910111213141516171819 |
- import ascending from "./ascending.js";
- import maxIndex from "./maxIndex.js";
- export default function greatestIndex(values, compare = ascending) {
- if (compare.length === 1) return maxIndex(values, compare);
- let maxValue;
- let max = -1;
- let index = -1;
- for (const value of values) {
- ++index;
- if (max < 0
- ? compare(value, value) === 0
- : compare(value, maxValue) > 0) {
- maxValue = value;
- max = index;
- }
- }
- return max;
- }
|