访问具有相同名称的Javascript属性

时间:2013-12-18 08:40:24

标签: javascript

是否可以在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之后,我需要两个属性并且必须找出它。

您可以在http://jsfiddle.net/nxJLh/

下试试

1 个答案:

答案 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"}
]

但您是唯一能够为您的应用选择合适设计的人。