Skip to content Skip to sidebar Skip to footer

How To Use A Variable Value For The Key Of Another Object?

I have something like : var myMenu= [ { 'My English Title':function(menuItem,menu) { ... } }]; Now, I want the replace 'My English Title' by an oth

Solution 1:

var tempElement = {};
tempElement[ LOC.MENU_TITLE ] = function(menuItem, menu) {};

myMenu = [ tempElement ];

Addressing your edit. Try the following

var myMenu = [ {}, $.contextMenu.separator, {} ];

myMenu[0][ LOC.MENU_TITLE ]  = function(menuItem, menu) {};
myMenu[2][ LOC.MENU_TITLE2 ] = function(menuItem, menu) {};

Solution 2:

JavaScript object literals expect the keys to be either an Identifier, a String literal or a Number literal, a workaround can be to build your object step by step, using the bracket notation:

var myMenu= [{}];
myMenu[0][LOC.MENU_TITLE] = function(menuItem,menu){ /*...*/ };

Note that the above isn't JSON.

JSON is a language-agnostic data interchange format, its grammar differs from the JavaScript Object literals, basically by allowing only string keys and the values must be an object, array, number, string, or the literal names: false, nulltrue.

Post a Comment for "How To Use A Variable Value For The Key Of Another Object?"