Reputation: 139
I have array like this :
var a = [18.86, 64.48, 99.57, 106.6, 108, 259.69];
I want to convert this array to be like this :
var new_a = [00:18.86, 01:04.48, 01:39.57, 01:46.60, 01:48.00, 04:19.69];
Please help me.. thank you.
Upvotes: 0
Views: 1023
Reputation: 9664
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);
Upvotes: 1
Reputation: 2739
Try this:
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);
Upvotes: 3