Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:分割时间_Javascript_Arrays - Fatal编程技术网

Javascript:分割时间

Javascript:分割时间,javascript,arrays,Javascript,Arrays,我试图格式化一个包含时间数据的变量值,如下所示00:38:51或00:00:59或01:25:59 我需要将其格式化为25m59s或相应的1h25m59s0m59s 我正在读一些关于分裂的书,我已经开始了,但是我感到困惑 语法 拆分(表达式[,分隔符[,计数[,比较]]) 更新 我创建了自己的函数,我不确定这是否也是一个好方法 function formatTime(a) { var time = a.split(":"); var hours = parseInt(time[0

我试图格式化一个包含时间数据的变量值,如下所示
00:38:51
00:00:59
01:25:59

我需要将其格式化为
25m59s
或相应的
1h25m59s
0m59s

我正在读一些关于分裂的书,我已经开始了,但是我感到困惑

语法 拆分(表达式[,分隔符[,计数[,比较]])

更新

我创建了自己的函数,我不确定这是否也是一个好方法

function formatTime(a) {
    var time = a.split(":");
    var hours = parseInt(time[0], 10);
    var minutes = parseInt(time[1], 10);
    var seconds = parseInt(time[2], 10);
    var x = document.getElementById("time");
    x.innerHTML = hours + "h" + minutes + "m" + seconds + "s"
}

myTime = "00:38:51";
formatTime(myTime);

尝试使用
RegExp

var arr = ["00:38:51","00:00:59","01:25:59"]; // created array due to demonstration
var reg = /(\d+):(\d+):(\d)/, ret = []; // RegExp and result variable declaration

arr.forEach(function(v){
    ret = reg.exec(v);
    console.log(parseInt(ret[1]) + "h" + parseInt(ret[2]) + "m" + parseInt(ret[3]) + "s"); // 0h38m5s, 0h0m5s, 1h25m5s
});

注意:在显示结果时使用
parseInt
功能,以避免打印
00
而不是
0
这应该可以做到

function a(time) {
    var t = time.split(':'),
        s = ['h', 'm', 's'],
        i = 0;
    for(; i < t.length; i ++) {
        t[i] = parseInt(t[i]) == 0 ? '' : parseInt(t[i]) + s[i + s.length - t.length];
    }
    return t.join('');
}
函数a(时间){
var t=time.split(“:”),
s=['h','m','s'],
i=0;
对于(;i

你能为你的代码创建一个提琴,并像我是JS新手一样检查我的函数吗?你能为你的代码创建一个提琴,并像我是新手一样检查我的函数吗js@J.DFiddle也张贴在代码下方。无论如何,这里是链接
function a(time) {
    var t = time.split(':'),
        s = ['h', 'm', 's'],
        i = 0;
    for(; i < t.length; i ++) {
        t[i] = parseInt(t[i]) == 0 ? '' : parseInt(t[i]) + s[i + s.length - t.length];
    }
    return t.join('');
}