JS associative object with duplicate names

SteeleR picture SteeleR · Oct 22, 2010 · Viewed 17.1k times · Source

ok, so I have an object like:

var myobject = {
   "field_1": "lorem ipsum",
   "field_2": 1,
   "field_2": 2,
   "field_2": 6
};

as you see there are duplicate names in the object, but with different values. If i go through it like (using jQuery):

$.each(myobject, function(key, value)
{
   console.log(key);
   console.log(myobject[key]);
   console.log(myobject[value]);
}

key - returns the correct key
myobject[key] - returns the name for that key
myobject[value] - returns the last elements', with that name, value

meaning for field_2 it will return 6, though it'll print it 3 times, as it repeats 3 times in the object.

My question is how to obtain the correct value for that duplicate named fields and not just the last one's

Thank you

Answer

Coin_op picture Coin_op · Oct 22, 2010

That is not an array that is an object. You'd be better creating a property of the object that is an array and store the different values in there.

var myarray = {
   "field_1": "lorem ipsum",
   "field_array": []
};

myarray.field_array.push(value);

then just loop through that property of the array.