我想根據變量將單個陣列轉換爲一組較小的陣列。所以,0,1,2,3,4,5,6,7,8,9
將成爲0,1,2
,3,4,5
,6,7,8
,9
當大小爲3將一個PowerShell陣列切片成較小陣列組
我目前的做法:
[email protected](0,1,2,3,4,5,6,7,8,9)
$size=3
0..[math]::Round($ids.count/$size) | % {
# slice first elements
$x = $ids[0..($size-1)]
# redefine array w/ remaining values
$ids = $ids[$size..$ids.Length]
# return elements (as an array, which isn't happening)
$x
} | % { "IDS: $($_ -Join ",")" }
產地:
IDS: 0
IDS: 1
IDS: 2
IDS: 3
IDS: 4
IDS: 5
IDS: 6
IDS: 7
IDS: 8
IDS: 9
我想它是:
IDS: 0,1,2
IDS: 3,4,5
IDS: 6,7,8
IDS: 9
我錯過了什麼?
你只是分配' $ ids'到'$ x'併發送它要用'|來迭代的流%{'。 – TheIncorrigible1
使用',$ x'而不是'$ x'。 –
@Bill_Stewart,解決了這個問題。如果你會以答案的形式評論你的評論,我會接受它。如果你對我想要做的事情有更優雅的解決方案,那會很有幫助。 – craig