我怎样才能在数组结构中获得一个单一的值

查看器

我的英语不是最好的,但我会试试的 :o)

我在 Jenkins 管道文件中遇到了 groovy 问题。

我将显示我的代码与我的代码有点不同,这样它就不会那么难理解,但它具有相同的含义。

我已经定义了一个这样的二维数组:

def address=[
                1: [NAME:'PAUL', 
                            Telephone: [
                                1: [number: '1234', id:'office'],
                                2: [number: '2345', id:'mobile'],
                                3: [number: '4567', id:'home'],
                                ]],
                2: [NAME:'PETER', 
                            Telephone: [
                                1: [number: '9876', id:'office'],
                                2: [number: '7654', id:'mobile'],
                                3: [number: '5432', id:'home'],
                                ]],
                3: [NAME:'MICHAEL', 
                            Telephone: [
                                1: [number: '5647', id:'office'],
                                2: [number: '4738', id:'mobile'],
                                3: [number: '2954', id:'home'],
                                ]],                                                                
]

然后我在某个地方有这样的功能。

def showNumbers(address){
    address.each{entry ->
        name=entry.value.NAME
        echo 'Name: '+name
        // prints out the whole 2D array
        echo "Print Out 1 = ${entry}"
        // prints out only the name
        echo "Print Out 2 = ${entry.value.NAME}"
        // prints out the Telephone array
        echo "Print Out 3 = ${entry.value.Telephone}"

        // now I want to save only the first number "1234" to do later something with it...
        save_first_number=?????

        // print out the number array
        entry.value.Devices.each{telephone ->
            echo 'Number from: '+name
            echo 'Number: '+telephone.value.number + ' - ID: '+telephone.value.id


        }// End of => entry.value.Devices.each{entry ->
    }// End of => array.each{entry ->
}

顺便说一句:我知道这个地址数组在 Jenkins 中没有意义,但正如我所说,这只是我的代码中的一个例子!!

所以我的问题是,我不知道如何只从第一个条目 [1:] 中的“number”中获得第一个单个值,我只需要值 '1234' 然后,当我进入下一次迭代时,我想从彼得那里得到数字“9876”等等。

我的想法是这样的......

save_first_number = entry.value.Telephone[1].value.number

但这不起作用。

我希望我的意思很清楚:o) 我也希望有人可以在这种情况下帮助我。

最好的问候,祝你有美好的一天。

chenchuk

由于 entry.value.Telephone[1] 是一个 HashMap,你可以像这样访问它的元素:

save_first_number = entry.value.Telephone[1]['number']
save_first_number = entry.value.Telephone[1].number // works as well

// to check types:
// println "${entry.value.Telephone[1].getClass()}" // returns LinkedHashMap

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎样才能在 python 中进行一个单一的循环等待

从数组中删除一个值。我怎样才能让它工作

我怎样才能牢固地返回一个结构体数组?

我怎样才能在JList中显示一个ArrayList?

我怎样才能在Java中向下移动一个表?

我怎样才能在WPF中填充一个正确的对齐菜单

我怎样才能在 R 中滞后一个 ts 对象?

我怎样才能在柏树中做一个if else?

我怎样才能获得 json 数据的下一个值

我怎样才能找出数组中的每个元素包含一个特定的单词?

你好,我怎样才能在我的代码中添加另一个用户登录密码?

我怎样才能在 datepicker javascript 中获得这一天?

我怎样才能在 Dart 的子类中拥有一个具有固定类型的动态成员的类?

我怎样才能在另一个班级访问这个列表?

我怎样才能在圆圈内做一个清晰的图标

我怎样才能删除一个gridview行?而数据尚未保存在数据库中

我怎样才能漂亮地打印一个带有其字段命名的结构?

我怎样才能获得谷歌 SERP?一个新手问题

我怎样才能绘制一个图来获得二元结果的概率

我怎样才能只获得符合一个条件的条目?

我怎样才能得到一个数组中的一个元素在另一个数组中存在多少次?

我怎样才能在断言一个reflect.Value结构时将其断言回到我知道它实现的接口?

我怎样才能返回一个循环?

我怎样才能重复一个模式?

我怎样才能返回一个 Promise?

我怎样才能写一个指向函数?

我怎样才能增加一个变量,以便它存储我想要的值?

我怎样才能console.log一个可观察值的值?

我怎样才能允许用户输入各种各样的东西并让它们在一个 numpy 数组中工作?