如何遍历对象中的重复键

时间:2015-05-06 19:27:33

标签: javascript object iteration

当我在我的控制台中输入时:

var a = {"baz":null, "baz":null, "baz":null, "taz":null};

for (var x in a) {
   console.log(x);
}

我只得到: “巴兹” “TAZ”

我需要捕获关键“baz”的所有实例...有什么办法可以做到这一点吗? for ... in只会执行上述操作。

3 个答案:

答案 0 :(得分:1)

  

我需要捕获关键字的所有实例" baz" ...有什么方法可以做到这一点吗?

不,没有。生成的对象不会以任何方式包含有关重复键的信息。

根据您的使用情况,您可以使用数组而不是对象,也可以使用数组作为属性的值(并相应地处理它):

var a = {"baz": [null, null, null], "taz":null};

答案 1 :(得分:0)

您可以通过将数组作为键的值来实现:

{baz: ["homer","bart","liza"], foo:[1,2,3] }

然后显示:

for (var x in a) {

  for (var i=0; i < a.length; i++){
  console.log(a[i]);
   } 

}

答案 2 :(得分:0)

菲利克斯指出,你不能拥有重复的密钥。 构建数据的另一种方法可能是一系列dicts。

(我假设您尝试使用每个密钥存储数据,并且在您的问题中为空。我用&#34; other_value&#34;密钥代表

var a = [{name : "baz", other_value : null}, {name : "baz", other_value : null}, {name : "taz", other_value : null}];

for(var i=0; i<a.length; i++){
    console.log(a[i].name);
}