Как получить ключ в таблице ha sh, а затем обновить значение в Powershell? - PullRequest
1 голос
/ 26 февраля 2020

У меня есть таблица ha sh, где ключи представляют адреса электронной почты, а значения представляют счет. Проверка if определяет, находится ли адрес электронной почты в таблице ha sh, если он не содержится, затем добавьте его в таблицу ha sh и увеличьте счетчик.

Если адрес электронной почты присутствует в таблице ha sh, как мне получить ключ, а затем обновить счетчик значений?

Спасибо!

$targeted_hash = @{}
$count = 0
foreach ($group in $targeted)
{
    if (!$targeted_hash.ContainsKey('group.ManagerEmail'))
    {
        $targeted_hash.Add($group.ManagerEmail, $count + 1)
    }
    else
    {
        #TODO
    }

}    

1 Ответ

1 голос
/ 26 февраля 2020

PowerShell предлагает два удобных сочетания клавиш:

  • назначение записи по ключу обновляет существующую запись, если она есть, или создает запись для этого ключа по требованию .

  • с использованием ++, оператор приращения во вновь созданной записи неявно принимает значение по умолчанию 0 и поэтому инициализирует запись 1

Следовательно:

$targeted_hash = @{}
foreach ($group in $targeted)
{
  $targeted_hash[$group.ManagerEmail]++
}

После l oop таблица ha sh будет содержать записи для всех отдельных адресов электронной почты менеджера, содержащие счет их появления во входном массиве $group .

...