Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问Javascript中变量名中的计数器(内部代码)_Javascript_Variables_Padding - Fatal编程技术网

访问Javascript中变量名中的计数器(内部代码)

访问Javascript中变量名中的计数器(内部代码),javascript,variables,padding,Javascript,Variables,Padding,我希望在javascipt中执行与以下PHP代码非常类似的操作: for ($weenumber = 1; $weenumber <= 30; $weenumber++) { $weenumber = str_pad($weenumber, 2, "0", STR_PAD_LEFT); echo $_POST["entry{$weenumber}_cash"]; } 对于($weenumber=1;$weenumber我想你指的是前导零而不是尾随零 例如,可以使用条件

我希望在javascipt中执行与以下PHP代码非常类似的操作:

for ($weenumber = 1; $weenumber <= 30; $weenumber++)
{ 
    $weenumber = str_pad($weenumber, 2, "0", STR_PAD_LEFT);
    echo $_POST["entry{$weenumber}_cash"];
} 

对于($weenumber=1;$weenumber我想你指的是前导零而不是尾随零

例如,可以使用条件运算符:

(n < 10 ? '0' : '') + n
(n<10?'0':'')+n
您还可以实现一个通用功能:

function padLeft(str, len, ch) {
  while (str.length < len) str = ch + str;
  return str;
}
左键功能(str、len、ch){
而(str.length
要在Javascript中按名称访问对象属性,请使用括号。示例:

var value = obj['entry' + (n < 10 ? '0' : '') + n + '_cash'];
var value=obj['entry'+(n<10?'0':'')+n+'u cash'];

如果
n
包含
4
,这将与
obj.entry04\u cash
相同,无论是否有特定的函数来执行此操作,如果您知道如何使用
If
子句,并且您知道如何执行字符串合并(如果没有,则使用
+
操作符),然后您应该能够轻松地手动滚动自己版本的
stru pad
(适用于100以下的数字)


考虑所涉及的案例(只有两种)以及在这两种情况下需要输出的内容。

这是您应该使用的代码:

for(var i=0; i<30; i++){
    document.writeln(i<10 ? "0"+i : i);
}

for(var i=0;i
for(weenumer=1;weenumer
for(var i=0;i以下是一个可用于零填充的函数:

function zeroPad(nr,base){
        var  len = (String(base).length - String(nr).length)+1;
        return len > 0? new Array(len).join('0')+nr : nr;
}
//usage
alert(zeroPad(3,10)); //=> 03
或者扩展原型的数量

Number.prototype.zeroPad = Number.prototype.zeroPad ||
    function(base){
            var nr = this, len = (String(base).length - String(nr).length)+1;
            return len > 0? new Array(len).join('0')+nr : nr;
    };
//usage
var num = 1;
alert(num.zeroPad(100)); //=> 001
现在来看变量名部分:如果它是一个全局变量(不可取),那么该变量是
全局对象的属性,在
窗口的浏览器中
。您可以使用对象(实例)中的以下等价项通过其动态名称获取变量:
窗口['myvariable'+myJustResolvedNumericValue]
您可以使用相同的括号表示法:
myObject['myvariable'+myJustResolvedNumericValue]

使用此信息,在javascript中,您的函数可以如下所示:

for (var weenumber = 1; weenumber <= 30; weenumber++)
{ 
    // execute something using the variable that uses the counter in the
    // variable name as parameter
    executeSomeFunction(window['entry'+weenumber.padLeft(10) + '_cash']);
} 
for(var weenumber=1;weenumber
var someArray=[/*…*/];

对于(var i=1;iYou的意思是“如果小于10,则用前导的
0
填充”,对吗?这是其中的一部分,主要是在变量中引用变量的语法:PHP中的条目{$i}将给出:entry01 for instanceGoogle Jon具体是什么?我尝试过“在javascript中引用变量”非常感谢大家的帮助,当然还有Guffa。我真的很喜欢这个网站和帮助的人:)再次感谢大家!
Number.prototype.zeroPad = Number.prototype.zeroPad ||
    function(base){
            var nr = this, len = (String(base).length - String(nr).length)+1;
            return len > 0? new Array(len).join('0')+nr : nr;
    };
//usage
var num = 1;
alert(num.zeroPad(100)); //=> 001
for (var weenumber = 1; weenumber <= 30; weenumber++)
{ 
    // execute something using the variable that uses the counter in the
    // variable name as parameter
    executeSomeFunction(window['entry'+weenumber.padLeft(10) + '_cash']);
} 
var someArray = [/*...*/];
for (var i= 1;i<= 30;i++)
    { 
        var weenumber = i+"";
        for(var j=weenumber.length;j<2;j++)
            weenumber = "0" + weenumber;
        var key = "entry" + weenumber + "_cash";
        document.write(someArray[key]);
    }