gpt4 book ai didi

arrays - 如何检查数组的任何成员是否大于 9000

转载 作者:行者123 更新时间:2023-12-01 12:52:05 27 4
gpt4 key购买 nike

如果整个数组的一个成员大于 9000,我需要编写一个执行操作的脚本。

$all = 1,10,999,1990,2002,9101,5000,12,500
foreach($cauta in $all){
if($cauta -gt 7000){
Send-MailMessage -To me@myemail.com -From alert@myemail.com -Subject "CRITICAL load"
}
else{
Send-MailMessage -To me@myemail.com -From alert@myemail.com -Subject "OK load"
}
}

问题是,使用这个 foreach,它会不断地向我发送电子邮件。我需要收到一封带有“OK”或“CRITICAL”状态的电子邮件:如果阵列成员之一大于 9000 -> 发送一封具有严重状态的电子邮件。如果数组的所有成员都低于 9000 -> 发送一封状态良好的电子邮件。

最佳答案

这似乎是 Measure-Object 的完美案例.使用 -Maximum 开关,我们可以返回最大的数组元素,因为它们是整数。

if(($all | Measure-Object -Maximum).Maximum -gt 7000){
"critical"
} else {
"ok"
}

没有意义的循环单独检查所有元素。

另外,正如 wOxxOm 提醒我的那样,-gt 用作数组运算符。你可以像这样使用它...

$all -gt 7000

这将返回所有大于 7000 的元素。如果没有匹配则返回 Null。如果您将该结果作为 bool 值进行测试以产生相同的效果。

if($all -gt 7000){
"critical"
} else {
"ok"
}

小心使用这种方法,就好像这个数组中有字符串一样,它也可能返回它们。使用 Measure-Object 将说明这一点并将整数字符串视为整数。仍然可以使用真正的字符串失败,以了解您的数据类型!

关于arrays - 如何检查数组的任何成员是否大于 9000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453612/

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