簡體   English   中英

使用數組檢查字符串長度

[英]Using an Array to Check for String Length

我正在建立一個使用setIntervalnew Date()每秒更新一次的時鍾。 但是,我無法使用and數組將一位數字更改為兩位數字。 例如,我希望5小時9分5秒顯示為05:09:05(將零添加到一個數字的前面)。 出於某種奇怪的原因,我的帶有for循環和if語句的數組不執行此操作。 這是我的代碼:

 $(document).ready(function () { /* Variables */ var d; var h; var m; var s; var arr; setInterval(function(){ /* Get time every second */ d = new Date(); h = d.getHours(); m = d.getMinutes(); s = d.getSeconds(); /* Check for character count */ arr = [h, m, s]; for (var i = 0; i < arr.length; i++) { if (arr[i].toString().length == 1) { arr[i] = '0' + arr[i]; } } $('h1').html(h + ':' + m + ':' + s) }, 1000); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1>12:00:00</h1> 

您忘記輸出數組,而不是輸出單獨的hms

 $(document).ready(function () { /* Variables */ var d; var h; var m; var s; var arr; setInterval(function(){ /* Get time every second */ d = new Date(); h = d.getHours(); m = d.getMinutes(); s = d.getSeconds(); /* Check for character count */ arr = [h, m, s]; for (var i = 0; i < arr.length; i++) { if (arr[i].toString().length == 1) { arr[i] = '0' + arr[i]; } } //$('h1').html(arr[0] + ':' + arr[1] + ':' + arr[2]) $('h1').html(arr.join(':')) // join instead of outputting individually }, 1000); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1>12:00:00</h1> 

當您將字符串放入數組中時,它不會直接放入對象,而是會放入對象的副本。

然后在顯示時,而不是直接使用hms (未修改的原始對象),而是顯示數組中的項目( arr[0] ,...)。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM