大家好日子! 我有一些函数将输入数组拆分为$ partitionCount分区。返回值应该是一个数组数组。 如果$ partitionCount等于1,则不需要执行某些拆分逻辑,您可以返回输入数组本身。在这种情况下,powershell将返回结果展平为简单数组(不是根据需要的数组数组)。
我尝试过使用Stackoverflow和其他资源找到的方法:
return @($input)
将结果展平为单个数组return @(,$input)
也将结果展平为单个数组return @($input, @())
它工作但使用空数组来防止扁平化,坏的一个$bucket = @(Split-Array $input 1)
有没有正确的方法来处理这种情况?
答案 0 :(得分:1)
要防止展示单项数组,请在您尝试返回的数组前添加逗号(,@($value)
):
function Get-SingleArray {
param($InputArray)
return ,@($InputArray[0])
}
演示:
PS C:\> $a = Get-SingleArray 2,3,4,5
PS C:\> $a[0] -eq 2
True
PS C:\> $a.GetType.FullName
System.Object[]