将hh:mm:ss或mm:ss或ss转换为millis的最有效方法是什么?

时间:2018-06-12 18:32:56

标签: javascript performance

这是我将hhmmss或mmss或ss转换为millis的功能。 我怎样才能改进它?

hhmmssToMillis(hhmmss) {
   let time= hhmmss.split(':').reverse();
   let millis = 0;
   switch(time.length) {
     case 1: 
         millis = parseInt(time[0]) * 1000;
         break;
     case 2: 
         millis = (parseInt(time[1]) * 60 + parseInt(time[0])) * 1000;
         break;
     case 3: 
         millis = (parseInt(time[2]) * 60 * 60 + parseInt(time[1]) * 60 + parseInt(time[0])) * 1000;
         break;
   } 
   return millis; 
}

1 个答案:

答案 0 :(得分:0)

你可以通过缩短它来明确改善它:

const [seconds = 0, mins = 0, hours = 0] = hhmmss.split(':').reverse();
return ((+hours * 60 + +mins) * 60 + +seconds) * 1000;

虽然这可能不是“最快”的方式,但至少对所有用例来说都足够快。