Just noticed new behaviour (for me) that when using Associative Arrays() and the key you have, has the same value as default value, the key might disappear. I noticed this because I was using Associative Array to collect different status messages (default value was set to 0) and then used that associative array to build user interface after collecting statuses.
Create Associative Arrays does have following note so this is expected behaviour:
Note: If a key’s value is the default value, then the key is dropped because any key will return the default value.
One example where that Note doesn't seem to hold truth:
Names Default To Here(1);
aa = [=> 0];
aa["a"] += 0;
show(aa); // aa = ["a" => 0, => 0];
aa["a"] = 0;
show(aa); // aa = [=> 0];
Any ideas why it works like this? Due to this behaviour (keys getting deleted) I will most likely give up with default values in Associative Array (for now) so I can have same behaviour in all of my scripts and just handle the errors caused by keys which are not found from the Associative Array.
Edit:
I would prefer the keys not being removed at all, when they have same value as default value. This is most likely so deeply built into JMP for some good reason (optimizations?) that I suspect it won't be changed