可能重复:
How to create object property from variable value in javascript?
好的 - 这对我来说很难。我正在使用jQuery循环遍历所有的class =“data”。然后,我想使用每个特定的“dataName”和“dataValue”为我的功能分配属性。但是,一旦完成,我只有一个“dataName =(最后一个循环值)”的属性。如何指定我的dataName变量每次创建一个新属性 - 而不是认为我只想创建一个名为“dataValue”的属性
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"
和feature.height = "5"
答案 0 :(得分:2)
您可以使用方括号语法访问具有变量的属性:
feature[dataName] = dataValue;
这将设置一个属性,其标识符为dataName
的值,而不是文字字符串“dataName”。
答案 1 :(得分:0)
您可以像这样编写代码:
feature[$(this).attr("name")] = $(this).val()
答案 2 :(得分:0)
使用此语法设置值:
function pushAttributesintoFeature(feature) {
$(".data").each( function(){
var dataName = $(this).attr("name")
var dataValue = $(this).val()
feature[dataName] = dataValue;
})
}