2012-04-23 2 views
-1

を使用して先行ゼロを追加するこれに先行ゼロを追加するにはどうすればjavascriptまたはjqueryを使用しますか?javascriptエラー

for (im=1;im<=31;im++){ 
    days[im]=everyDay[im]; 
} 
+0

あなたは日が[IM] '常に長さ2の文字列であることを'たいですか? 'everyDay'とは何ですか? –

+0

@MikeSamuel yeaそれは月の日のためだけだ – Craig

+7

everyDay [im]。shufflin ' – DanRedux

答えて

0

daysアレイに先行ゼロが必要な場合。あなたは、このような文字列として日と別の配列を作成し、1を使用したり、他のそれが属している場所や、新しいアレイにparseInt()を使用することができます。

var days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], 
    strDays = []; 

for (var i = 0, l = days.length; i < l; i++) { 
    strDays.push(String(days[i]).length < 2 ? '0' + days[i] : String(days[i])); 
} 

// `strDays` prints: ["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"] 

EDIT: でも短い:

var strDays = []; 
for (var i = 1; i < 32; i++) { 
    strDays.push(('' + i).length < 2 ? '0' + i : '' + i); 
} 
0
0と

プリペンドそれを、次に取る最後の2つの文字:

var days = {}; 
for (im=1;im<=31;im++){ 
    days[im] = ('0' + im).substr(-2); 
} 
+0

これは私に09までのゼロを与えますが、10も01になります。0を加えてから3を減算すると20のようになります02 02 – Craig

+0

@ PaulP-read how [String .prototype.substring](http://es5.github.com/#x15.5.4.15)が動作します。それはあなたが期待しているようではありません。特に、ステップ6: 'finalStartをmin(max(intStart、0)、len)としましょう。 ' – RobG

0
for (im=1;im<=31;im++){ 
    days[im] = (everyDay[im] < 10 ? '0' : '') + everyDay[im]; 
} 
+0

OPを読んでいませんか? jQueryはどこですか? – RobG

+3

@RobGはい、私はOPを読んでいます:「どうすればjavascript **または** jquery ...」 –

+0

答えにjQueryがどのように作用しているのか見たいだけです。ねえ、答えよりも回答の方が多いですよ! ;-) – RobG

1

は考えてみましょう:

for (var t, im=1; im<=31; im++){ 
    t = everyDay[im]; 
    days[im] = (t < 10? 0 : '') + t; 
} 
+0

+1は、 'im'に欠落している' var'を知ります。 –

0
for (var im=1;im<=31;im++){ 
    var x = parseInt(everyDay[im]); 
    if(x < 10) 
    days[im]='0' + x; 
    else days[im]= x; 
} 
+0

'days'はいくつかの文字列といくつかの数字を含んでいます:' [、 "01"、 "02"、 "03"、...、 "08"、 "09"、10,11、...、31] ' 。 –

+0

@MikeSamuel私は自分の答えを更新しました。私に欠陥を教えてくれないなら、それを修正しようとします。 – Valli69

+0

@ pravalika - 'parseInt'は必要ありません。式の評価の初期段階で' x'を数値プリミティブに変換します。 – RobG