Как считать числа меньше 10 в массиве, используя foreach в powershelll - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь подсчитать число, которое меньше 10 в массиве в PowerShell, я должен использовать foreach l oop

cls 
$a = 0..9
$i = 0

foreach ($element in $a) {
  if ($element -gt 2)
  {
   $i = $i + 1
   Write-Host $i
  }
}

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Измените -gt ("больше-чем") на -lt ("меньше-чем") и измените 2 на 10:

foreach ($element in $a) {
  if ($element -lt 10)
  {
    $i = $i + 1
  }
}
Write-Host "Counted $i numbers under 10"
0 голосов
/ 24 апреля 2020

вот еще один способ получить счет. он отфильтровывает элементы, которые НЕ меньше предела, отправляет их другому $ Var, а затем использует свойство .Count этого нового $ Var. наконец, он показывает список чисел меньше лимита.

код и комментарии кажутся понятными, но если у вас есть вопросы, пожалуйста, задавайте ... [ ухмылка ]

# only the last 3 items are NOT less than 10
$NumberList = @(1,3,5,7,9,1,1,4,0,-1,-666,111,666,10)
$Limit = 10

$TotalNumbers = $NumberList.Count
# a ".Where()" method call would be more obvious
#    so would piping to `Where-Object`
#    however, the requirement is to use a "foreach" loop [*grin*] 
$LessThanLimit = foreach ($NL_Item in $NumberList)
    {
    if ($NL_Item -lt $Limit)
        {
        $NL_Item
        }
    }

'Total Numbers             = {0}' -f $NumberList.Count
'Numbers less than [ {0,3} ] = {1}' -f $Limit, $LessThanLimit.Count
"$LessThanLimit"

вывод ...

Total Numbers             = 14
Numbers less than [  10 ] = 11
1 3 5 7 9 1 1 4 0 -1 -666
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...