当我在我的控制台中输入时:
var a = {"baz":null, "baz":null, "baz":null, "taz":null};
for (var x in a) {
console.log(x);
}
我只得到: “巴兹” “TAZ”
我需要捕获关键“baz”的所有实例...有什么办法可以做到这一点吗? for ... in只会执行上述操作。
答案 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);
}