gpt4 book ai didi

powershell - 在Powershell中使用2个数组创建具有多个值的哈希

转载 作者:行者123 更新时间:2023-12-03 00:23:55 25 4
gpt4 key购买 nike

我想从大小不相等的2个数组A和B中为每个键创建具有多个值的哈希。

$A = @('usr1','usr2', 'usr3', 'usr4')
$B = @('INC1','INC2','INC3','INC4','INC5','INC6')
$h = [ordered]@{}
for($i=0; $i -lt $B.Count; $i++)
{
for($j=0;$j -lt $A.Count; $j++)
{
$h[$A[$j]] += @($B[$j])
}
}

`
我得到的输出
Name                           Value                                           
---- -----
usr1 {INC1, INC2, INC3, INC4...}
usr2 {INC1, INC2, INC3, INC4...}
usr3 {INC1, INC2, INC3, INC4...}
usr4 {INC1, INC2, INC3, INC4...}

所需输出:
Name                           Value                                           
---- -----
usr1 {INC1, INC5}
usr2 {INC2, INC6}
usr3 {INC3}
usr4 {INC4}

我需要以相同的方式将项目从数组B分发到数组A成员。
也就是说,应将 $B的元素一个接一个地收集在以 $A的元素命名的哈希表条目中,直到不再剩下 $B项为止。

上面的代码我在做什么错?

最佳答案

使用模运算符(%)在结尾处“包装”任何超过最小数组长度的值:

$table = [ordered] @{}
for($i = 0; $i -lt $B.Count; $i++){
$table[$A[$i % $A.Count]] += @($B[$i])
}

关于powershell - 在Powershell中使用2个数组创建具有多个值的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com