我有这样的数组:
var a = [18.86, 64.48, 99.57, 106.6, 108, 259.69];
我想将此数组转换为:
var new_a = [00:18.86, 01:04.48, 01:39.57, 01:46.60, 01:48.00, 04:19.69];
请帮帮我..谢谢。
答案 0 :(得分:3)
试试这个:
var arr = [];
var a = [18.86, 64.48, 99.57, 106.6, 108, 259.69];
a.forEach(function(e) {
var minute = parseInt(e / 60);
var intPart = parseInt(e - 60 * minute);
var fltPart = Math.round(((e - 60 * minute) - intPart) * 100);
arr.push((minute < 10 ? '0' : '') + minute + ':' + (e - 60 * minute < 10 ? '0' : '') + intPart + '.' + (fltPart < 10 ? '0' : '') + fltPart);
});
console.log(arr);
&#13;
答案 1 :(得分:1)
var secArray = [18.86, 64.48, 99.57, 106.6, 108, 137.49, 259.69],
newSecArray = [];
for (var i = 0, ln = secArray.length; i < ln; i++) {
var s = secArray[i],
m = (s > 60) ? parseInt(s / 60) : '00';
s = (s > 60) ? s - m * 60 : s;
newSecArray.push(m + ':' + s.toFixed(2));
}
console.log(newSecArray);