У меня есть несколько пар массивов.
Первая пара содержит несколько строк.
Второй содержит метку времени, принадлежащую строке в той же позиции первого массива.
Вот две пары массивов для примера:
#String array
M681
T9997
E61
H717
K700
#Timestamp Array
11:00
11:05
11:05
11:10
11:15
Вторая пара массивов будет выглядеть так:
#String array
B722
T732
L999
M681
I125
#Timestamp Array
11:00
11:00
11:05
11:10
11:15
Я хочу найти совпадения, в которых строка состоит из двух пар, а затем я хочу измерить разницу во времени между двумя записями.
Сравнение строковых массивов было просто сделано (Compare-Object -IncludeEqual -ReferenceObject $a_string -DifferenceObject $b_string -ExcludeDifferent).InputObject
, но с этим я не смог сравнить отвечающие метки времени.
Итак, моей следующей идеей было объединить каждую пару в хеш-таблицу:
$hash = @{}
$hash.Add($a_string[$i],$a_timestamp[$i])
Но я заметил, что это не сработает в моей среде, поскольку строки и метки времени могут повторяться в одном массиве, поэтому установка одной из них в качестве ключа хэша будет невозможна.
Затем я попытался создать хеш-таблицу с массивом в качестве значения и индексом в качестве ключа:
$hash.Add($indexNumber,@($a_string[$i],$a_timestamp[$i]))
Несмотря на то, что $hash.indexNumber
печатает оба значения, я не могу получить значения на $hash.indexNumber[0]
/ $hash.indexNumber[1]
Буду признателен, если кто-нибудь расскажет мне о лучших практиках в такой ситуации или подскажет, как я могу успешно получить отдельные значения массива внутри хеша и сравнить их с другими значениями массива в разных хешах.
С уважением,
Paxz.