Неплохая идея,
Maxmaxmахimus, для реализации её опытными программистами, которые понимают как использовать регулярные выражения и как работают фнукции
forEach и
match, явно не для новичков (хотя разобраться можно).
Кроме того, следует понимать, что данный код не кроссбраузерный, так как функция
forEach работает не во всех браузерах, в качестве альтернативы (со своими демонами) можно для обхода всех элементов массива использовать цикл
for (например, вида
for (var key in arr) {var val = arr[key]} ).
Также оптимизация требуется предпринять некоторые действия для прекращения выполнения
forEach при нахождении требуемого значения, так как внутренняя функция в
forEach выполняется для всех элементов массива (лично мне при помощи
break) в
Google Chrome этого сделать не удалось).
Кроме того, я так понимаю, вы сознательно, захотели, чтобы при выводе всё время выводилось сообщение "приступ".
С выводом значения при использовании
forEach также не всё так просто, даже если убрать ваш
return 'приступ',
alert выведет
underfined, так как
return time[1] возвращает значение в никуда (а точнее только во внутреннюю функцию), решением может быть присвоение этого значения некоторой переменной (например,
а = time[1]), а потом возвращение этого значения (вместо
return 'приступ'; -
return a;).
PS: Свою гениальность или манию величия,
Maxmaxmахimus, можешь проверить на моём вопросе
Размеры фреймов и JavaScript