我面临一个挑战,要创建一个将基于字符串的时间转换为毫秒的函数。
这是我得到的字符串格式:
"hours:minutes:seconds.milliseconds"
例如,这个值需要返回 3010220。
"0:50:10.220"
该函数需要简短且一行。 我很想知道在哪里可以改进下面的功能,因为它没有通过标准。这怎么能变成一个衬垫?
function toMilliseconds(time){
return time.match(/[0-9]+/g).map(function(val,s,a){
return s != 3 ? +val * ((Math.pow(60,a.length - s -2) * 1000)) : +val;
}).reduce(function(a,b){
return a+b;
},0);
}
最佳答案
有很多不同的方法。
这是我能想到的最短的方法(使用 ES6):
var str = "0:50:10.220";
var ms = (s=>1E3*s[2]+6E4*s[1]+36E5*s[0])(str.split(':'));
console.log(ms);
关于javascript - 有效地将基于字符串的时间转换为毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829656/