@SanDn

Как реализовать поиск в многоуровневой хеш таблице?

Вот к примеру есть такая таблица.
$aa = @{"key1" = @{"key2" = @{"key3" = @{"key4" = "value4"}}}}

Как добраться до "value4" не настукивая вручную $aa.key1.key2.key3.key4 и т.д.
Хотелось бы передать искомое значение в некую функцию или командлет и получить ссылку на него в таблице.
Ну и учесть при этом, что вложенные элементы могут быть также [array] или даже [pscustomobject]
Подозреваю что этот вопрос стар как мир, и решений готовых достаточно. Но в силу своей неопытности
ничего не могу найти, так что извиняйте.
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
Без поддержки массивов когда-то писал для себя вот такую рекурсивную функцию
function Get-ObjectValue($Object, $PropertyName) {
  $property, $remain  = $PropertyName -split '\.',2
  if ($remain) {
    Get-ObjectValue $Object.$property $remain
  }
  else {
    $Object.$property
  }
}


Массив надо допиливать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы