What are the array detection mutation methods?

As the name suggests, mutation methods modifies the original array.
 
Below are the list of array mutation methods which trigger view updates.
 
* push()
* pop()
* shift()
* unshift()
* splice()
* sort()
* reverse()

If you perform any of the above mutation method on the list then it triggers view update. For example, push method on array named 'items' trigger a view update,
vm.todos.push({ message: 'Baz' })