PowerShell中如何无需逐次对比获取多个数组的最高元素个数
PowerShell 获取多数组最大元素数的简便实现
你可以直接利用PowerShell自带的Measure-Object统计cmdlet实现需求,无需手动编写循环逐个数组对比长度:
完整示例代码
# 原有数组声明 $a = @('a', 'b', 'c', 'd') $b = @('e', 'f', 'g', 'h', 'i', 'j') $c = @('k', 'l', 'm', 'n', 'o') $d = @('p', 'q') # 核心逻辑:将所有数组打包为集合,直接统计Count属性的最大值 $maxLength = ($a, $b, $c, $d | Measure-Object -Property Count -Maximum).Maximum
执行后$maxLength的取值即为6,符合预期。
补充说明
- 该方案不限制数组内部的元素类型,数值、字符串、自定义对象数组都可以通用
- 后续新增待统计数组时,只需要将变量名添加到
($a, $b, $c, $d)这个打包集合中即可,无需修改其他逻辑 - 如果需要同时获取长度最大的原数组,可追加一行筛选逻辑:
$longestArray = ($a, $b, $c, $d | Where-Object { $_.Count -eq $maxLength })
内容的提问来源于stack exchange,提问作者SHA-256
相关产品推荐
相关产品推荐

