У меня есть следующий массив
[true, false, false, true, true, false, false, true, true, true, false, false] 
  Я знаю, как получить среднюю точку и использовать ceil() или floor() чтобы получить ближайшее целочисленное значение и как проверить, имеет ли значение до и после этой середины то же значение, что и моя средняя точка. 
  Моя проблема в том, что мне нужно три true значения рядом друг с другом, чтобы мое условие возвращало true .  В этом примере использование midpoint и смежных с ним значений вернет false .  Midpoint – это мое предпочтительное положение здесь, поскольку мне нужно что-то там делать, если мое условие возвращает true .  Когда это, однако, возвращает false , мне нужно получить любую другую позицию, в которой есть три true значения рядом друг с другом.  Мне нужно получить ключи, поскольку мне нужен ключ, чтобы определить среднюю точку, поскольку мне нужно вставить туда значение. 
Поэтому из моего примера мне нужно вернуть номер 7, 8 и 9, а не значения этих ключей
Любые предложения для достижения этого?