是否可以根据字符串值创建属性。
我有一个Json对象,用于填充UI(选择框)。
"Conf" :{
"Color":[
{
"Value":"BLUE"
},
{
"Value":"GOLD"
}
],
"Size":[
{
"Value":"12"
},
{
"Value":"11"
}
],
}
根据选择,我需要将其添加到对象(下面的Item.Conf
)。
addSel
提供选择类型(Color, Size
等)和值(BLUE, 11
等)。
如何添加选择,如下所示。
因此,如果选择为Color : BLUE
,我需要将其添加为Item.Conf[0].Color.Value = "BLUE"
可能吗?
Item = {
Conf: [],
addSel: function(type, val){ //for example type="Size", val = "11"
//.... need to selection to Conf
// add a member "Size" from type string
//set its value as val
console.log(Conf[0].Size.Value) //=> 11
}
}
本质上是可以制作像
这样的对象"Size":{
"Value": 11
}
来自字符串
答案 0 :(得分:1)
您的问题并不完全清楚您要尝试做什么,但也许您只需要知道使用[variable]
语法来使用字符串来处理属性名称。
示例:
var x = {};
var propName = "Value";
x[propName] = 11;
这相当于:
var x = {};
x.Value = 11;
但是,第一种形式允许属性名称是变量中的字符串,在编写代码时不知道,而第二种形式只能在提前知道属性名称时使用。