我想通过从每个数组中一一选取元素来连接两个数组。并且不要将它们合并或简单地合并
我知道如何将第二个数组添加到第一个数组,如下所示:
$array1 = (0,4,8)
$array2 = (1,5,2)
$array1 += $array2
$array1
Run Code Online (Sandbox Code Playgroud)
结果如下:
0
4
8
1
5
2
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能将它们复制到另一个中,给我这样的输出:
0
1
4
5
8
2
Run Code Online (Sandbox Code Playgroud)
注意:我不想合并它们然后对列表进行排序。
元素需要保持相同的顺序。如何实现这一目标?
你可以:
例子:
$Array1 = @('a','b')
$Array2 = @('c','d')
$ConcatenatedArray = $($Array1; $Array2) #this is our special line
$ConcatenatedArray
Run Code Online (Sandbox Code Playgroud)
输出:
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
我们可以验证它是一个以所有元素为单位的数组,而不是两个数组的数组,这是使用逗号作为分隔符时的情况。
$Array1 = @('a','b')
$Array2 = @('c','d')
$ConcatenatedArray = $($Array1; $Array2)
$ConcatenatedArray.Count
Run Code Online (Sandbox Code Playgroud)
输出:
4
Run Code Online (Sandbox Code Playgroud)
尝试这样的事情
$array1 = (0,2,4)
$array2 = (1,3,5)
$MaxLen=[Math]::Max($array1.Length, $array2.Length)
$Result=@()
for ($i = 0; $i -lt $MaxLen; $i++)
{
$Result+=$array1[$i]
$Result+=$array2[$i]
}
$Result
Run Code Online (Sandbox Code Playgroud)