내가 뭘하려는 건 배열 변수 이름을 동적으로 만들고 루프와 함께 해시 테이블 값과 같은 관련 배열에 개체를 추가하려면 카운터 변수동적 변수 배열 이름 만들기 및 그들에 개체 추가
$hshSite = @{} # Values like this CO,1 NE,2 IA,3
$counter = $hshSite.count
For($i = $counter; $i -gt 0; $i--) {
New-Variable -Name "arr$i" -Value @()
}
$ 카운터 = 3, 나는 배열 $ arr1, $ arr2, $ arr3
$csv = Import-CSV....
ForEach ($x in $csv) {
#if $hshSite.Name = $x.location (ie CO), look up hash value (1),
and add the object to $arr1. If $hshSite.Name = NE, add to $arr2
나는 새로운 변수로 동적 배열을 생성하지만,에 추가하려는 문제가 노력을 만들 것입니다 경우 그 배열. 2 개의 변수 이름을 하나의 변수 이름으로 연결할 수 있습니까? 그러므로 $ arr + $ i를 $ arr1과 $ arr2와 $ arr3을 형성하고 나서 본질적으로 $ arr0 + = $ _을 할 수 있습니다.
최종 목표는 CO, NE, IA 기반으로 항목을 그룹화하는 것입니다. 추가 정렬/그룹화/처리. 그리고 나는 이것을 달성하기위한 다른 아이디어에 대해 개방적입니다. 당신의 도움을 주셔서 감사합니다!
Brilliant! 예, CSV에는 많은 기록이 있습니다. 배열이 아닌 배열 목록을 사용할 때의 이점에 대해 간략하게 설명 할 수 있습니까? 도와 주셔서 다시 한번 감사드립니다 !!! – cluckinchicken
배열이 내부적으로 처리되는 방법과 관련된 성능 문제입니다. 배열에 실제로 추가 할 수는 없습니다. + = 연산이 수행하는 작업은 원래 배열의 요소와 새 요소로 구성된 새로운 배열을 만드는 것입니다. 이로 인해 많은 프로세스 오버 헤드가 발생합니다. 배열 목록은 그렇게하지 않으므로 작업 당 몇 ms 더 빠릅니다. 단지 약간의 엔트리 만 있다면, 성능 차이는 간단하며, 배열 메소드가 제공하는 더 간단한 코딩을 포기할 가치가 없습니다. 당신이 많은 일을 시작할 때 그 차이는 상당히 커지게됩니다. – mjolinor