代码之家  ›  专栏  ›  技术社区  ›  Thufir

如何用Powershell构造数组?

  •  1
  • Thufir  · 技术社区  · 4 年前

    group 数据,每次出现如下“新人”时,我都想将他们的信息添加到临时数组中,并将该数组重置为空。

    在每个“new person”数组设置为空之前,我想将该数组添加到一个people数组中。数组数组。

    如何将一个数组添加到另一个数组中?

    $people = import-csv "./people.csv"
    
    $h = @{}
    $h.gettype()
    
    $all_people
    
    ForEach ($person in $people) {
      $new_person
      if ($person -match '[0-9]') {
        Write-host $person
      }
      else { 
        write-host "new person"
        write-host $person
      }
    }
    

    thufir@dur:~/flwor/people$ 
    thufir@dur:~/flwor/people$ pwsh foo.ps1 
    
    IsPublic IsSerial Name                                     BaseType
    -------- -------- ----                                     --------
    True     True     Hashtable                                System.Object
    new person
    @{people=joe}
    @{people=phone1}
    @{people=phone2}
    @{people=phone3}
    new person
    @{people=sue}
    @{people=cell4}
    @{people=home5}
    new person
    @{people=alice}
    @{people=atrib6}
    @{people=x7}
    @{people=y9}
    @{people=z10}
    
    thufir@dur:~/flwor/people$ 
    

    我有这样的东西:

    $people = import-csv "./people.csv"
    
    $all_people
    $new_person = "new","person"
    
    $new_person.GetType()
    
    ForEach ($person in $people) {
    
      if ($person -match '[0-9]') {
        Write-host $person
        $new_person.Add($person)
      }
      else { 
        write-host "new person"
        write-host $person
        #$new_person = null
        $new_person = "new","person"
      }
    }
    
    2 回复  |  直到 4 年前
        1
  •  1
  •   Wasif    4 年前

    是的,您可以创建数组数组。

    示例我们创建3个数组,如

    $a = 1..5
    $b = 6..10
    $c = 11..15
    

    $d = $a,$b,$c
    

    现在我们可以像这样访问它们:

    $d[0]
    # Output 
    # 1
    # 2
    # 3
    # 4
    # 5
    $d[0][2]
    # Output is $a arrays 3rd element
    
        2
  •  1
  •   Jawad user2418209    4 年前

    Powershell没有提供使用基本数组创建数组的良好功能。