首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell -以3个为一批的循环遍历对象

Powershell -以3个为一批的循环遍历对象
EN

Stack Overflow用户
提问于 2011-05-14 13:38:41
回答 1查看 2.1K关注 0票数 4

我有一个包含7个项目的对象。

代码语言:javascript
复制
$obj.gettype().name
Object[]

$obj.length
7

我不想使用模数函数,我只想创建一个只有3个项目的新对象。伪代码:

代码语言:javascript
复制
$j=0
$k=1
for($i=0;$i<$obj.length;$i+=3){
    $j=$i+2
    $myTmpObj = $obj[$i-$j] # create tmpObj which contains items 1-3, then items 4-6, then 7 etc
    echo "Batch $k
    foreach($item in $myTmpObj){
        echo $item
    }
    $k++
 }

Batch 1
item 1
item 2
item 3

Batch 2
item 4
item 5
item 6

Batch 3
Item 7

你好,泰德

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-14 14:15:12

您的伪代码几乎是真实的。我刚刚更改了它的语法并使用了范围运算符(..):

代码语言:javascript
复制
# demo input (btw, also uses ..)
$obj = 1..7

$k = 1
for($i = 0; $i -lt $obj.Length; $i += 3) {

    # end index
    $j = $i + 2
    if ($j -ge $obj.Length) {
        $j = $obj.Length - 1
    }

    # create tmpObj which contains items 1-3, then items 4-6, then 7 etc
    $myTmpObj = $obj[$i..$j]

    # show batches
    "Batch $k"
    foreach($item in $myTmpObj) {
        $item
    }
    $k++
}

输出看起来完全符合要求。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6000030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档