gpt4 book ai didi

powershell - 减法数组 (Powershell)

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

有两个 $A 和 $B 数组。我需要获得第三个 $C 数组,该数组由第一个数组的所有元素组成,而第二个数组中不存在这些元素。 IE。 $A = $B + $C。当然,$B数组的长度加上$C数组的长度就等于$A数组的长度。

$A = 'a', 'b', 'c', 'a', 'a' 

$B = 'b', 'a', 'a'

# This is an array that is consisted of elements of the first array that are not in the second array.

$C = 'a', 'c'

下一个操作本身不起作用,因此它将删除所有匹配项:

# Not suitable

$A | Where-Object { $B -notcontains $_ }

---
c

这个解决方案应该有效。然而,据我了解,在Powershell中没有从数组中删除元素的操作。即不存在这样的操作:{Remove $j element from $A array }

ForEach ($i in $B) { 

ForEach ($j in $A) {

if ($i -eq $j) { { Remove $j value from $A array }; break }
}
}

显然在学习 Powershell 的过程中,我错过了一些东西。我会问你是否有删除数组元素的操作。我怎样才能得到我想要的 $C 数组?

最佳答案

您正在寻找比较对象:link

$A = 'a', 'b', 'c', 'a', 'a' 
$B = 'b', 'a', 'a'

Compare-Object -ReferenceObject $a -DifferenceObject $b

输出:

InputObject SideIndicator
----------- -------------
c <=
a <=

关于powershell - 减法数组 (Powershell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590189/

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