有没有办法在一行中使用子对象数组初始化javascript对象?如何在初始化行中执行以下操作。
var obj = {doc: 100,
defaultrateid: 32,
rates: [],
};
obj.rates[31] = {rate: 101.00, name: "Rate 1"};
obj.rates[32] = {rate: 121.00, name: "Rate 2"};
基本上我想要的是一个具有我的用户参数的javascript对象。此对象将在多个Web表单上重用。对于' rates',表单将有一个下拉列表来选择费率。网络表单具有客户端计算,需要基于费率的唯一ID(例如32)匹配费率对象。
我尝试使用关联数组,而不必根据唯一值进行循环查找匹配。
答案 0 :(得分:4)
看起来有点hacky:
obj = {
doc: 100,
defaultrateid: 32,
rates: (new Array(30)).concat([{
rate: 101.00,
name: "Rate 1"
}, {
rate: 121.00,
name: "Rate 2"
}])
};
也许你真的不需要数组,你可以使用这样的对象:
obj = {
doc: 100,
defaultrateid: 32,
rates: {
"31": {
rate: 101.00,
name: "Rate 1"
},
"32": {
rate: 121.00,
name: "Rate 2"
}
}
};
您仍然可以获得obj.rates[31]
等费率。
答案 1 :(得分:0)
你的意思是这样吗?
var obj = {
doc: 100,
defaultrateid: 32,
rates: [{
rate: 101.00
}, {
rate: 121.00
}],
};
alert(obj.rates[1].rate);