私の最終機能。
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 วินาที
あたりです。
2つの関数の「dateObj」の違いを見てください。
キーのタイプ==数値の場合、for inループでオブジェクトの並べ替えを修正する方法