我需要在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)
}
答案 0 :(得分:0)
首先,我要说代码看起来很糟糕,但这里是如何做到的。您需要使用括号表示法而不是点表示法,以便您可以传递字符串并连接索引:
for ( var i = 0; i <= 4; i++ ) {
if ( document.mappingsTanimlari[ 'addServerOrClusterValue'+ i ].value ) {
...
}
}
答案 1 :(得分: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);
}
}