We have declared a Global Array MyStatus and initialized it with array [1,2,3,4,5]
var MyStatus = global.set[ 1,2,3,4,5];
Example 1 'hardcoded' so the DataUpdate is stored in the 4th Array position '3'. THIS is OK
//global.set("MyStatus['3']",global.get("DataUpdate"));
Example 2 We then replaced '3' with a variable.
var RXSelected = 3;
-
//global.set("MyStatus['RXSelected']",global.get("DataUpdate"));
But the 2nd example does not write in the DataUpdate into the array at all.
Hi @sweetwater
In your 2nd example, the key you are using is the literal string "MyStatus['RXSelected']"
. JavaScript doesn't know you want part of that String to be replaced by the value of a variable.
You have to build the string up:
global.set("MyStatus["+RXSelected+"]", global.get("DataUpdate"));
Or, you can use a string template:
global.set(`MyStatus[${RXSelected}]`, global.get("DataUpdate"));
Note in this second example the string is surrounded by a single backtick (`) and the local variable you want to insert is surrounded by ${ }
Thank you Nick.
Oops. Makes total sense.
Your inputs are clear and 100% correct. We concatenated the Strings with the variable and of course it works as expected.
global.set("MyStatus["+RXSelected+"]", global.get("DataUpdate"));