是否可以在Javascript中访问相同的命名属性?
示例:
var myObject = {
"key1": "value1 ",
"myProp" : "after key1",
"key2": "value2 ",
"myProp" : "after key2",
}
var result = '';
for (var prop in myObject) {
result += "myObject." + prop + " = " + myObject[prop] + "\n";
}
alert(result);
该示例仅返回第二个属性“myProp”。如果它们在key1或key2之后,我需要两个属性并且必须找出它。
下试试答案 0 :(得分:3)
您的问题不在于访问:问题是只有一个具有给定名称的属性,因此myProp
属性的第二个定义会删除先前的属性。
您可以做的是在您的属性中存储数组:
var myObject = {
"key1": "value1 ",
"key2": "value2",
"myProp" : ["after key1", "after key2"],
}
你也可以寻找替代结构:
var myObjects = [
{key: "key1", value:"value1", myProp: "for key1"},
{key: "key2", value:"value2", myProp: "for key2"}
]
但您是唯一能够为您的应用选择合适设计的人。