这里仍然是新手,但我试图从我的地图列表中的每个地图获取所有值,其中键的等号为"Oranges"
def resultSet = [
["Oranges":123456, "Apples": "none"],["Oranges":7890, "Apples": "some"]
]
def fruit = resultSet.each{
it.findAll{key, value -> key == "Oranges"}.value
}
println fruit
Run Code Online (Sandbox Code Playgroud)
所以对于这一点,我希望结果是:[123456, 7890]
但我得到:[[Oranges:123456, Apples:none], [Oranges:7890, Apples:some]]
each方法的返回是集合本身.您希望对集合应用某种过滤器,而不是对其每个项目应用.我建议使用findResults,因为它会过滤掉null和空值:
def resultSet = [
["Oranges":123456, "Apples": "none"],
["Oranges":7890, "Apples": "some"]
]
def fruit = resultSet.findResults { it.Oranges?.value }
assert fruit == [123456, 7890]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |