2015-09-24 3 views
0

Как я могу преобразовать что-то в формате, например min: sec, в число?Преобразование min: sec в число в JavaScript

Это то, что у меня есть на данный момент, но я знаю, что есть более чистый способ сделать это. Это для игры, длина которой составляет всего 30 минут, поэтому в худшем случае у меня есть 30 операторов switch, но это просто слишком уродливо, чтобы смотреть на каждый день.

// 1:15 
var minSecToNum = function minSecToNum(minutes, seconds) { 
    var min = minutes || 0; 
    var sec = seconds || 0; 

    switch (min) { 
    case 1: 
     sec += 60; 
     break; 
    case 2: 
     sec += 120; 
     break; 
    case 3: 
     sec += 180; 
     break; 
    case 4: 
     sec += 240; 
     break; 
    case 5: 
     sec += 300; 
     break; 
    } 
    return sec; 
}; 

console.log(minSecToNum(1, 15)); // Returns 75 

ответ

4
function minSecToNum(minutes, seconds) { 
    var min = minutes || 0; 
    var sec = seconds || 0; 

    return minutes*60 + seconds; 
} 
+1

Вы, сэр, являются героем для людей. Спасибо. SO говорит, что я могу отметить это как правильное за 8 минут. –

1

Вы можете сделать это следующим образом:

Независимо от ввода на несколько минут (1,2, 15 и т.д.), просто умножить на 60, затем добавьте всего секунды, что ,

так что ваша функция выглядит следующим образом:

function minSecToNum(m, s) { 
    return ((60*m)+s)); 
} 

Это исключает необходимость всех операторов коммутатора.

Поэтому, учитывая ввод 1 минуту, 15 секунд,

новая функция будет выходной (60 * 1) +15 = 75

В течение 3 минут 45 секунд, вы получите (60 * 3) +45 = 225

Смежные вопросы