2012-05-06 28 views
0

比方说,我得到了它包含19.我想打一个阵列从它下面的数字使2位数字的数组在javascript

var positions = [ "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" ]; 

数的变量这是如何实现的JavaScript的?

+1

你有没有试过? –

+0

我知道如果数字是例如9我可以使它与下面的行09:var totalplayers =(“0”+ totalplayers).slice(-2);'但我不能建立一个数组与所有数字从00到totalplayers – Alexandros

+1

http://stackoverflow.com/questions/1267283/how-can-i-create-a-zerofilled-value-using-javascript – jbabey

回答

1

喜欢的东西:

var number = 19; 
var arr = []; 
for (i = 0; i <= number ; i++) { 
    arr.push(i < 10 ? ("0" + i.toString()) : i.toString()); 
} 

演示:http://jsfiddle.net/Kfnnr/1/

+1

或更简单:arr.push((i <10?'0':'')+ i) – HBP

1

或者:

var mynumber = 19, 
    myarr = String(Array(mynumber+1)) 
      .split(',') 
      .map(function(el,i){return i<10 ? '0'+i : ''+i;}); 

对于zeropadding您可能需要使用:

function padLeft(nr,base,chr){ 
    base = base || 10; 
    chr = chr || '0'; 
    var len = (String(base).length - String(nr).length)+1; 
    return len > 0? Array(len).join(chr)+nr : nr; 
} 
// usage 
padLeft(1);   //=> '01' 
padLeft(1,100);  //=> '001' 
padLeft(1,10000,'-'); //=> '----1' 
0

基本上你想填0,这里的答案是不够的,并且在数字改变时缩放..可能更好的解决方案是

function padZero(num, size) { 
    var s = num+""; 
    while (s.length < size) s = "0" + s; 
    return s; 
} 
+0

??当数字改变时,你的意思是什么*并不足够和规模*? – KooiInc

+0

好,如果这个数字是20000,那么你会写我<10000和我<1000等我之前说你更新你的答案 – Baz1nga