{
"text": "2 минуты 30 секунд"
}
{
"text": "2 часа 31 минута 35 секунд"
}
const getSeconds = str =>
[
[ 'де?н', 24 * 60 * 60 ],
[ 'час', 60 * 60 ],
[ 'мин', 60 ],
[ 'сек', 1 ],
].reduce((acc, n) => {
return acc + (str.match(RegExp(`\\d+(?=\\s+${n[0]})`)) ?? 0) * n[1];
}, 0);
getSeconds('2 часа 22 секунды') // 7222
getSeconds('99 минут') // 5940
getSeconds('1 час 1 минута 1 секунда') // 3661
getSeconds('666 секунд') // 666
getSeconds('1 день 23 часа 59 минут 60 секунд') // 172800
getSeconds('2 дня') // 172800