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

こんな風にやってみませんか?

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 に答える
0

まず第一に、コードはひどいものに見えると言わざるを得ませんが、これを行う方法を次に示します。文字列を渡してインデックスを連結できるように、ドット表記の代わりにブラケット表記を使用する必要があります。

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

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

}
于 2012-11-09T08:29:36.077 に答える