С Новым годом! Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 22.02.2018
Сообщений: 21
1

Nested array

22.03.2018, 01:31. Показов 509. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Салют,
я все продолжаю изучать PowerShell, запнулся я на следущем.

Создал я вот такой Array

PowerShell
1
2
3
4
5
6
7
8
9
10
$test =@()
$test +=[pscustomobject]@{Month="January";Details=[pscustomobject]@{Number=12;Count=1}}
$test +=[pscustomobject]@{Month="February";Details=[pscustomobject]@{Number=22;Count=2}}
$test +=[pscustomobject]@{Month="March";Details=[pscustomobject]@{Number=33;Count=55}}
 
Month    Details               
-----    -------               
January  @{Number=12; Count=1} 
February @{Number=22; Count=2} 
March    @{Number=33; Count=55}
И незнаю как добавидь допустем к January, в таблицу Details дополнительные цыфры.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2018, 01:31
Ответы с готовыми решениями:

Присвоить значения переменных в массив Array (class Array в Turbo C++)
Здравствуйте!!! Изучаю help в Turbo C++ 3.1 дошел до класса Array: main() { //при ...

Двумерный массив <array>. const int value = array.size(); value не константа?
#include &lt;array&gt; #include &lt;iostream&gt; using std::array; using std::cout; /*ФУНКЦИЯ...

Как устроена внутренняя реализация Array.Copy и Array.CopyTo
Народ плис, я новичок, но нужна срочная консультация: Кто знает как устроена внутренняя реализация...

Что означает эта запись array = array.Select((x) => x == max ? sum : x).ToArray()
вот пример class test { static void Main(string args) { ...

4
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.03.2018, 10:44 2
Цитата Сообщение от uragus Посмотреть сообщение
И незнаю как добавидь допустем к January, в таблицу Details дополнительные цыфры.
Не уверен, что правильно понял ваш вопрос, но предложу такой вариант:

PowerShell
1
2
3
4
5
6
7
8
$test = [ordered]@{}
$test += @{January = [pscustomobject]@{Number=12;Count=1}}
$test += @{February = [pscustomobject]@{Number=22;Count=2}}
$test += @{March = [pscustomobject]@{Number=33;Count=55}}
 
$test["January"].Number = 15
 
$test
Код
Name                           Value
----                           -----
January                        @{Number=15; Count=1}
February                       @{Number=22; Count=2}
March                          @{Number=33; Count=55}
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.03.2018, 10:46 3
uragus,
И незнаю как добавидь допустем к January, в таблицу Details дополнительные цыфры.
Что именно куда добавить?

Если нужно добавить атрибут в хэш-таблицу Details, то можно сделать примерно так:
PowerShell
1
($test|?{$_.Month -eq "January"}).Details=[pscustomobject]@{Number=12;Count=1;More=123}
PowerShell
1
2
3
4
5
Month                                                       Details
-----                                                       -------
January                                                     @{Number=12; Count=1; More=123}
February                                                    @{Number=22; Count=2}
March                                                       @{Number=33; Count=55}
Если просто поменять значение, у какого-то атрибута, то также через точечную нотацию

PowerShell
1
($test|?{$_.Month -eq "January"}).Details.Number=13
Если имелось ввиду что-то другое, то опишите детальнее.
0
4 / 4 / 0
Регистрация: 22.02.2018
Сообщений: 21
22.03.2018, 21:13  [ТС] 4
я не изменить числа хочу а добавидь,

что бы в результате было, когда запрошу

PowerShell
1
$test[0].Details
ответ был бы таков

PowerShell
1
2
3
4
5
6
Number Count
------ -----
    12     1
    14     4
    15     6
   132     3
0
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.03.2018, 23:07 5
Цитата Сообщение от uragus Посмотреть сообщение
я не изменить числа хочу а добавидь
PowerShell
1
2
3
4
5
6
7
8
9
$test = [ordered]@{}
 
$test += @{January = @([pscustomobject]@{Number=12;Count=1})}
$test += @{February = @([pscustomobject]@{Number=22;Count=2})}
$test += @{March = @([pscustomobject]@{Number=33;Count=55})}
 
(14,4),(15,6),(132,3) | %{$test["January"] += [pscustomobject]@{Number=$_[0];Count=$_[1]}}
 
$test["January"]
Код
Number Count
------ -----
    12     1
    14     4
    15     6
   132     3
0
22.03.2018, 23:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2018, 23:07
Помогаю со студенческими работами здесь

Mathcad ошибка this array index is invalid for this array
хочу вывести новую матрицу но выдаётся ошибка this array index is invalid for this array скорее...

Загрузить в ячейку array of array of TStringList список
Как это можно сделать? Пробовал и через указатель (с указателем получается работать - наоборот...

Как работает Array.Find и Array.FindAll
Здравствуйте, у меня возник вопрос по поводу класса Array и методов Find и FindAll. Видел такой...

Incompatible types: 'array of string' and 'Dynamic array'
Добрый день! В процессе написания программы столкнулся с ошибкой: Unit1.pas(77): E2010...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru