数値19を含む変数を取得したとしましょう。それから次の数値で配列を作成したいと思います。
var positions = [ "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" ];
これはjavascriptでどのように可能ですか?
数値19を含む変数を取得したとしましょう。それから次の数値で配列を作成したいと思います。
var positions = [ "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" ];
これはjavascriptでどのように可能ですか?
何かのようなもの :
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/
または:
var mynumber = 19,
myarr = String(Array(mynumber+1))
.split(',')
.map(function(el,i){return i<10 ? '0'+i : ''+i;});
ゼロパディングの場合は、次を使用できます。
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'
2019年の更新:es20xxString.prototype
にはネイティブpadStart
メソッドが含まれています:
"1".padStart(2, "0"); //=> "01"
// ^ max length
// ^ fill string (or space if omitted)
基本的には0を埋めたいので、数値を変更してもここでの答えは十分ではなく、スケーリングもできません。おそらく、より良い解決策は次のようになります。
function padZero(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
この例を使用して、最終的に私自身の@@iterator関数インターフェースの問題を解決しました。どうもありがとう
var myArray = [];
function getInterval (start, step, end, ommit){
for (start; start <= end; start += step) {
myArray.push( start < 10 ? ("" + start.toString()) : start.toString());
}
}
getInterval(2, 2, 20, 20);
myArray; // __proto__: Array
// (10) ["2", "4", "6", "8", "10", "12", "14", "16", "18", "20"]
myArray[4]; // "10"