Javascript 读取并循环遍历具有非唯一键值对的对象

Javascript 读取并循环遍历具有非唯一键值对的对象,javascript,jquery,object,Javascript,Jquery,Object,我有一个包含一些键/值对的对象。如果有一个键/值对与另一个键/值对共享同一个键,则在我控制台记录对象时无法识别第一个键/值对 例如: var test = { "same" : 'Value1', "same" : 'Value2', "different" : 'Value3' }; console.log(test); 控制台中的结果为: Object { same="Value2", different="Value3"} 无法读取具有相似键名的对象吗 我试图使用此方法()遍历对象,但

我有一个包含一些键/值对的对象。如果有一个键/值对与另一个键/值对共享同一个键,则在我控制台记录对象时无法识别第一个键/值对

例如:

var test = {
"same" : 'Value1',
"same" : 'Value2',
"different" : 'Value3'
};
console.log(test);
控制台中的结果为:

Object { same="Value2", different="Value3"}
无法读取具有相似键名的对象吗


我试图使用此方法()遍历对象,但我只能检索一个共享键的键/值对。

键是唯一的值,它唯一地标识数组/对象中的元素。因此,答案是否定的,不能有两个元素具有相同的键值。

键是唯一的值,它唯一地标识数组/对象中的元素。因此,答案是否定的,不能有两个具有相同键值的元素。

一个对象不能有重复的键值


因此,无法从对象中读取重复的关键点的原因是,它们最初从未作为两项添加到对象中。其中一项只会覆盖另一项。

对象不能有重复的键


因此,无法从对象中读取重复的关键点的原因是,它们最初从未作为两项添加到对象中。其中一项将简单地覆盖另一项。

如果需要,您可以更改JSON的结构吗?JSON对象不能有重复的键。可以将其视为hashmap或字典。根据语言和JSON解析器的不同,您也可能会得到一个异常(但不是在Javascript中)

在上面的示例中,可以更改它,使其具有唯一键,也可以将ti更改为值数组,如:

var test = {
"same" : ['Value1', 'Value2']
"different" : 'Value3'
};
console.log(test);

如果需要,您可以更改JSON的结构吗?JSON对象不能有重复的键。可以将其视为hashmap或字典。根据语言和JSON解析器的不同,您也可能会得到一个异常(但不是在Javascript中)

在上面的示例中,可以更改它,使其具有唯一键,也可以将ti更改为值数组,如:

var test = {
"same" : ['Value1', 'Value2']
"different" : 'Value3'
};
console.log(test);

或者将其更改为键/值的数组:[{“相同”:“Value1'},{“相同”:“Value2'},{“不同”:“Value3'}]。就像大多数语言一样:对象类似于一个集合,一个集合不能包含两个相等的对象。因此,请使用列表:D@Yannis谢谢你的建议,这对我很有用。很高兴我能帮上忙。我不介意您接受答案,因为您发现它很有用:)或者将其更改为键/值的数组:[{“相同”:“Value1”}、{“相同”:“Value2”}、{“不同”:“Value3”}]。就像大多数语言一样:对象类似于一个集合,一个集合不能包含两个相等的对象。因此,请使用列表:D@Yannis谢谢你的建议,这对我很有用。很高兴我能帮上忙。我不介意你接受这个答案,因为你觉得它很有用:)