1

重複の可能性:
javascriptで変数値からオブジェクトプロパティを作成する方法は?

OK - これは私にとっては大変です。jQueryを使用してすべてのclass="data"をループしています。次に、特定の「dataName」と「dataValue」をそれぞれ使用して、機能にプロパティを割り当てたいと考えています。ただし、完了すると、「dataName =(ループされた最後の値)」というプロパティしかありません。「dataValue」という名前のプロパティのみを作成したいと考えるのではなく、毎回新しいプロパティを作成するために dataName 変数を割り当てるにはどうすればよいですか

function pushAttributesintoFeature(feature) {  
  $(".data").each( function(){
    var dataName = $(this).attr("name")
    var dataValue = $(this).val()   
    feature.dataName = dataValue
  })
}

例:

<input class="data" name="radius" value="15">
<input class="data" name="height" value="5">

スクリプトを実行すると、次のものが残ります:feature.dataName = "5" しかし、私は: feature.radius="15"ANDfeature.height = "5"

4

3 に答える 3

2

角かっこの構文を使用して、変数を持つプロパティにアクセスできます。

feature[dataName] = dataValue;

これにより、リテラル文字列「dataName」ではなく、識別子が のであるプロパティが設定されます。dataName

于 2012-12-20T13:55:29.483 に答える
0

次のようにコードを記述できます。

feature[$(this).attr("name")] = $(this).val()
于 2012-12-20T13:56:29.813 に答える
0

値を設定するには、次の構文を使用します。

function pushAttributesintoFeature(feature) {  
  $(".data").each( function(){
    var dataName = $(this).attr("name")
    var dataValue = $(this).val()   
    feature[dataName] = dataValue;
  })
}
于 2012-12-20T13:56:55.510 に答える