Reputation: 49
Given the fallowing lists, I need to create a list mapping the items of the list:
def list1=[math,science]
def list2=[90,80]
create listofObj=[{label:"activity score",value:90},{label:"math",value=80}]
I've tried listofObj=[[tablelabels,tablevalues].transpose().collectEntries{[it[0],it[1]]}]
but it's producing a simple mapping.
Upvotes: 0
Views: 614
Reputation: 37008
Your solution is quite close. But the transpose only gives you the tuples for label/value. If you need a fresh map with the keys, you have to create it. E.g.
def labels=["math","science"]
def values=[90,80]
println([labels,values].transpose().collect{ label, value -> [label: label, value: value] })
// → [[label:math, value:90], [label:science, value:80]]
Upvotes: 3