```
dropWhile(array, predicate) {
let dropNumber = array.findIndex((element, index) => {
return !predicate(element, index, array)
});
let droppedArray = this.drop(array, dropNumber);
return droppedArray;
}
```

This is the solution code to one of the functions of this exercise. I understand the logic of how the value produced by the anonymous function is used to then find the index of the value we’re looking for; however, I don’t understand how the anonymous function is getting the values for the parameters *element* and *index*. Where are the correct values to these parameters coming?