indexOf method

  1. @override
int indexOf(
  1. Object? element, [
  2. int startIndex = 0
])
override

The first index of element in this list.

Searches the list from index start to the end of the list. The first time an object o is encountered so that o == element, the index of o is returned.

final notes = <String>['do', 're', 'mi', 're'];
print(notes.indexOf('re')); // 1

final indexWithStart = notes.indexOf('re', 2); // 3

Returns -1 if element is not found.

final notes = <String>['do', 're', 'mi', 're'];
final index = notes.indexOf('fa'); // -1

Implementation

@override
int indexOf(Object? element, [int startIndex = 0]) {
  if (element is int) {
    if (startIndex < 0) startIndex = 0;
    if (startIndex < length) {
      final value = element - start;
      if (value % step == 0) {
        final index = value ~/ step;
        if (startIndex <= index && index < length) {
          return index;
        }
      }
    }
  }
  return -1;
}