【发布时间】:2013-09-12 08:29:42
【问题描述】:
我的最终功能。
var timeToString = function(time)
{
if (time <= 0)
{
return '0';
}
else
{
var s = '';
var d;
var dateObj = { '_86400' : 'วัน', '_3600' : 'ชั่วโมง', '_60' : 'นาที', '_1' : 'วินาที' };
for ( key in dateObj )
{
console.log( time + ' ' + key )
var suffix = dateObj[key];
var totaltime = key;
totaltime = totaltime.substr(1)
if ( time >= totaltime )
{
time -= d = time - time % totaltime;
s += ( ( d / totaltime) + ' ' + suffix + ' ');
}
}
}
return s;
}
document.write( timeToString(79) )
结果:1 นาที 19 วินาที
通过为我的对象的键值添加前缀来修复它,我的修复效果很好。
这是我的第一个代码
var timeToString = function(time)
{
if (time <= 0)
{
return '0';
}
else
{
var s = '';
var d;
var dateObj = { '86400' : 'วัน', '3600' : 'ชั่วโมง', '60' : 'นาที', '1' : 'วินาที' };
for ( key in dateObj )
{
var suffix = dateObj[key];
var totaltime = parseInt(key);
if ( time >= totaltime )
{
time -= d = time - time % totaltime;
s += ( ( d / totaltime) + ' ' + suffix + ' ');
}
}
}
return s;
}
结果:79 วินาที
我不需要那样的显示。
结果:1 นาที 19 วินาที
没错。
看看两个函数之间“dateObj”的区别。
如果 key 的类型 == number,如何在 for in 循环中修复对象重新排序
【问题讨论】:
-
哇,这个问题我什么都不懂……
-
var dateObj = { '_86400' : 'วัน', '_3600' : 'ชั่วโมง', '_60' : 'นาที', '_1' : 'วินา在 for in 循环中时,它首先显示“_86400”。 var dateObj = { '86400' : 'วัน', '3600' : 'ชั่วโมง', '60' : 'นาที', '1' : 'วินาที' };在 for in 循环中它首先显示“1”
标签: javascript for-loop for-in-loop