我想找到一個比遍歷地圖串列更好的解決方案,如下所示:
[[name:"Gromit", likes:"cheese", id:1234],[name:"john", likes:"fries", id:1234],...]
我有一個像 ["lisa","carl","bob"...] 這樣的名字串列。所以我想在地圖串列中搜索與我的名字串列關聯的“喜歡”和“id”,但我不想使用一些布爾代碼遍歷每個名??字的串列。
對于常規地圖,我想我可以這樣做:
if(regularMap.containsKey(key)) {
println regularmap[key]
}
如何對 Jenkins 宣告性管道中的地圖串列執行類似的操作?
uj5u.com熱心網友回復:
目前尚不清楚您想要結果的形式,但以下是一個起點:
def inputData = [[name: "Gromit", likes: "cheese", id: 1234], [name: "john", likes: "fries", id: 1234]]
def names = ["lisa", "Gromit", "carl", "bob", "john",]
def results = []
names.each { name ->
def matchingMap = inputData.find { it.name == name }
if (matchingMap) {
results << [matchingMap.id, matchingMap.likes]
}
}
results將[[1234, cheese], [1234, fries]]。
uj5u.com熱心網友回復:
listOfMaps.findAll{ it.name in names }
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346644.html
下一篇:為什么在JavaScript中顯示的陣列元素上限為100,有沒有辦法在沒有回圈或splice()的情況下顯示所有內容?[復制]
