You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell:无需循环判断数组所有元素是否为相同字符串

PowerShell 判断数组所有元素是否为相同字符串的无循环方法

以下是几种无需显式循环的简便方法:

方法一:使用 Compare-Object

通过对比数组第一个元素与整个数组的差异,无差异则说明所有元素相同:

# 全相同的数组
$array = @('123', '123', '123', '123')
(-not (Compare-Object $array[0] $array))  # 返回 TRUE

# 存在不同元素的数组
$array = @('2553', '123', '123', '123')
(-not (Compare-Object $array[0] $array))  # 返回 FALSE

说明:Compare-Object 仅当对比对象存在差异时返回结果,无差异时返回 $null,对结果取反即可得到判断值。

方法二:使用 Select-Object -Unique

提取数组中的唯一元素,若唯一元素数量为1则所有元素相同:

# 全相同的数组
$array = @('123', '123', '123', '123')
($array | Select-Object -Unique).Count -eq 1  # 返回 TRUE

# 存在不同元素的数组
$array = @('2553', '123', '123', '123')
($array | Select-Object -Unique).Count -eq 1  # 返回 FALSE

说明:Select-Object -Unique 会直接筛选出数组中的不重复元素,通过判断其数量即可得出结论。

边界情况说明

  • 若数组为空,上述方法会返回 $false(空数组无元素可判断)
  • 若数组仅含单个元素,上述方法会返回 $true(单个元素自然满足所有元素相同)

内容的提问来源于stack exchange,提问作者MelanieD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 17:04:52