Javascript 如何迭代对象中的重复键
当我在控制台中键入此命令时:Javascript 如何迭代对象中的重复键,javascript,object,iteration,Javascript,Object,Iteration,当我在控制台中键入此命令时: var a = {"baz":null, "baz":null, "baz":null, "taz":null}; for (var x in a) { console.log(x); } 我只得到: “巴兹” “塔兹” 我需要捕获键“baz”的所有实例。。。有没有办法做到这一点?因为……in只会做上面的事 我需要捕获键“baz”的所有实例。。。有没有办法做到这一点 不,没有。结果对象不会以任何方式包含有关重复关键点的信息 根据您的用例,您可以使用数组而不
var a = {"baz":null, "baz":null, "baz":null, "taz":null};
for (var x in a) {
console.log(x);
}
我只得到:
“巴兹”
“塔兹”
我需要捕获键“baz”的所有实例。。。有没有办法做到这一点?因为……in只会做上面的事
我需要捕获键“baz”的所有实例。。。有没有办法做到这一点
不,没有。结果对象不会以任何方式包含有关重复关键点的信息
根据您的用例,您可以使用数组而不是对象,或者使用数组作为属性值(并相应地处理它):
您可以通过将数组作为键的值来执行此操作:
{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]);
}
}
for(a中的变量x){
对于(变量i=0;i
正如费利克斯指出的,你不能有重复的钥匙。
构造数据的另一种方法可能是DICT数组
(我假设您试图使用问题中的每个键“null”存储数据。我用“other_value”键表示这一点)
var a=[{name:“baz”,other_值:null},{name:“baz”,other_值:null},{name:“taz”,other_值:null}];
对于(var i=0;iYou不能复制键,它们必须是唯一的。不能有两个相同的键。这会否定键的意义。这是怎么回事?!每次在a
对象中声明它时,你都在重新定义baz
。为什么这个问题会被否决?
for (var x in a) {
for (var i=0; i < a.length; i++){
console.log(a[i]);
}
}
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);
}