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

Powershell 如何实现两个数组元素交叉组合生成新数组

PowerShell 双数组交叉组合实现方案

你需要实现的是两个数组的笛卡尔积按第二数组维度分组拼接,可通过以下方法实现:

基础实现代码

# 定义原始数组
$a = @('Blue','red','green') 
$b = @('car', 'bike')

# 存储最终分组结果
$groupResult = @()

foreach ($itemB in $b) {
    # 生成当前$itemB对应的拼接数组
    $currentGroup = $a | ForEach-Object { "$_ $itemB".ToLower() }
    # 逗号前缀避免数组被自动展开平铺
    $groupResult += ,$currentGroup
}

结果查看与输出

  • 查看car对应的分组:执行$groupResult[0],输出为blue car、red car、green car
  • 查看bike对应的分组:执行$groupResult[1],输出为blue bike、red bike、green bike

如果需要直接输出你示例中的格式,追加以下代码即可:

foreach ($group in $groupResult) {
    Write-Host "('$($group -join "','")')"
}

运行后输出:

('blue car','red car','green car')
('blue bike','red bike','green bike')

简洁版写法

如果需要更精简的实现,可直接用管道嵌套生成结果:

$groupResult = $b | ForEach-Object { ,($a | ForEach-Object { "$_ $($args[0])".ToLower() } $_) }

注意:代码中的.ToLower()是为了匹配示例全小写的输出需求,如果你不需要统一大小写,直接删除该方法即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:48:04