If I have an object like:
{ \'a\' : \'apple\', \'b\' : \'banana\', \'c\' : \'carrot\' }
If I don\'t know in advance that the list goes up
Use an array, not an object literal, if order matters.
list = ['apple', 'banana', 'carrot'];
Or something like
dict = {
'a' : ['apple', 'awesome'],
'b' : ['best friend']
};
Or even..
dict = [{letter:'a', list:['apple', 'awesome']},{letter:'b', list:['best friend']}];
The keys for dict
are not guaranteed at all to be in order.
Yes, there is a way using Object.keys(obj)
. It is explained in this page:
var fruitObject = { 'a' : 'apple', 'b' : 'banana', 'c' : 'carrot' };
Object.keys(fruitObject); // this returns all properties in an array ["a", "b", "c"]
If you want to get the value of the last object, you could do this:
fruitObject[Object.keys(fruitObject)[Object.keys(fruitObject).length - 1]] // "carrot"