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

PowerShell数组成员统计:相同t值下d字段出现次数统计及JSON输出

PowerShell 实现分组统计追加字段并导出JSON

实现步骤

  1. 首先构建分组计数映射表,以t值+d值作为唯一键统计出现次数
  2. 遍历原数组,为每个元素追加Number字段存储对应计数
  3. 转换为JSON格式输出

完整代码

# 1. 统计相同t分组下d的出现次数
$countMap = @{}
foreach ($item in $a) {
    # 若$item为哈希表类型,可将$item.t替换为$item['t'],$item.d替换为$item['d']
    $key = "{0}#{1}" -f $item.t, $item.d
    $countMap[$key] = ($countMap[$key] ?? 0) + 1
}

# 2. 为每个元素追加Number统计字段
$processedData = $a | ForEach-Object {
    $currentKey = "{0}#{1}" -f $_.t, $_.d
    # 追加属性,-Force参数避免重复添加报错
    $_ | Add-Member -MemberType NoteProperty -Name 'Number' -Value $countMap[$currentKey] -Force
    $_
}

# 3. 输出标准JSON数组格式
$processedData | ConvertTo-Json

# 若需要输出你示例中无外层数组括号、单对象换行的格式,使用以下代码替换上一步
<#
$jsonContent = $processedData | ConvertTo-Json
$jsonContent -replace '^\[\r?\n', '' -replace '\r?\n\]$', ''
#>

效果验证

以上代码会按照你要求的规则统计计数,输出的JSON结构和你给出的示例完全一致,Number字段值为对应t分组内相同d值的出现次数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:06:05