0

我需要在 javascript 中创建一些规则,如下所示。我想在 for 循环中创建这些规则,但是我无法动态创建可变部分。

var _docmap = document.mappingsTanimlari;
    if(_docmap.addServerOrClusterValue0.value != ""){
        arr.push(_docmap.addServerOrCluster0.value + _docmap.addServerOrClusterValue0.value)
    }
    if(_docmap.addServerOrClusterValue1.value != ""){
        arr.push(_docmap.addServerOrCluster1.value + _docmap.addServerOrClusterValue1.value)
    }
    if(_docmap.addServerOrClusterValue2.value != ""){
        arr.push(_docmap.addServerOrCluster2.value + _docmap.addServerOrClusterValue2.value)
    }
    if(_docmap.addServerOrClusterValue3.value != ""){
        arr.push(_docmap.addServerOrCluster3.value + _docmap.addServerOrClusterValue3.value)
    }
    if(_docmap.addServerOrClusterValue4.value != ""){
        arr.push(_docmap.addServerOrCluster4.value + _docmap.addServerOrClusterValue4.value)
    }
4

2 回答 2

0

首先,我不得不说代码看起来很糟糕,但这里是如何做到的。您需要使用括号表示法而不是点表示法,以便您可以传递一个字符串并连接索引:

for ( var i = 0; i <= 4; i++ ) {

  if ( document.mappingsTanimlari[ 'addServerOrClusterValue'+ i ].value ) {
    ...
  }

}
于 2012-11-09T08:29:36.077 回答
0

为什么不这样做呢?

var arr = new Array();
var data = document.mappingsTanimlari;

for(var i=data.length;i--;) {
 if(data[i].value != "") {
  arr.push(data[i].value + data[i].value);
 }
}
于 2012-11-09T08:30:21.350 回答