int lastIndexOf(Object element, [ int startIndex ])

Returns the last index of element in this list.

Searches the list backwards from index start to 0.

The first time an object o is encountered so that o == element, the index of o is returned.

List<String> notes = ['do', 're', 'mi', 're'];
notes.lastIndexOf('re', 2); // 1

If start is not provided, this method searches from the end of the list./Returns

notes.lastIndexOf('re');  // 3

Returns -1 if element is not found.

notes.lastIndexOf('fa');  // -1

Source

int lastIndexOf(Object element, [int startIndex]) {
  if (startIndex == null) {
    startIndex = this.length - 1;
  } else {
    if (startIndex < 0) {
      return -1;
    }
    if (startIndex >= this.length) {
      startIndex = this.length - 1;
    }
  }
  for (int i = startIndex; i >= 0; i--) {
    if (this[i] == element) {
      return i;
    }
  }
  return -1;
}