Учитывая этот вход:уплощение вложенные массивы в Powershell
$values = @(1, @(2, 3), $null, @(@(4), 5), 6)
Что необходимо для создания чистой итерации/трубопровода через
1,2,3,4,5,6
?
Условия:
- Она не должна включать в себя
$null
на выходе. - Это должно привести к пустым массивам, даже если ввод равен $ null или все значения ввода равны $ null.
Бонус:
- Он должен показать
[1,2,3,4,5,6]
в результатеConvertTo-Json -Compress
- Он предпочтительно должен быть чистым и запоминающимся, то есть не византийский манипуляция трубы предпочтительно не зависимости от пользовательских функций, если вообще возможно.
Я видел Flatten array in PowerShell, решения там, похоже, не соответствуют условиям.
Вам нужно сгладить только массивы? Как насчет других типов коллекций? – PetSerAl
Решение, которое поддерживает все типы коллекций, приветствуется. Цель состоит в том, чтобы иметь возможность выполнять итерацию, вызывать 'Select-Object' и т. Д. Все это, не нарушая« $ null »или не влияя на глубину вложенности. – Tomalak
Я очень соблазн построить рекурсивную функцию, но это нарушит бонус – Matt