cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
Choose Language Hide Translation Bar
dileepkr
Level III

Appending element to a list value inside an associative array

Hi,

 

I am trying to add an element into an associative array where the value is a list and the element needs to be added into the list inside associative array.

Eg:

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek"}, "population" => 116244, "state" => "NC", "weather" => "sunny"];

 

In this,

1. How can I add a new entry to "high schools" list?

2. How do I convert the "weather" value to list? i.e. "weather" => {"sunny", "humid"}

 

Any help regarding this is much appreciated.

 

Thanks,
Dileep

1 ACCEPTED SOLUTION

Accepted Solutions
ms
Super User (Alumni) ms
Super User (Alumni)

Re: Appending element to a list value inside an associative array

There's likely a simpler way but the below seems to work.

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek"}, "population" => 116244,
"state" => "NC",
"weather" => "sunny"];

// 1.
cary << Insert("high schools", Insert(cary["high schools"], "another school"));
// 2.
cary << Insert("weather", Eval List(Insert(List(cary["weather"]), "humid")));

Show(cary);
/*:

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek", "another school"}, "population" => 116244, "state" => "NC", "weather" => {"sunny", "humid"}];

 

View solution in original post

2 REPLIES 2
ms
Super User (Alumni) ms
Super User (Alumni)

Re: Appending element to a list value inside an associative array

There's likely a simpler way but the below seems to work.

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek"}, "population" => 116244,
"state" => "NC",
"weather" => "sunny"];

// 1.
cary << Insert("high schools", Insert(cary["high schools"], "another school"));
// 2.
cary << Insert("weather", Eval List(Insert(List(cary["weather"]), "humid")));

Show(cary);
/*:

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek", "another school"}, "population" => 116244, "state" => "NC", "weather" => {"sunny", "humid"}];

 

Re: Appending element to a list value inside an associative array

There is usually more than one way with JSL. Here is my way:

 

cary = ["high schools" => {"Cary", "Green Hope", "Panther Creek"}, "population" => 116244, "state" => "NC", "weather" => "sunny"];

Insert Into( cary["high schools"], "Black Bear" );

cary["weather"] = { "sunny", "humid" };

I am sure that the specific details will determine which way is best for you in this case.