2015-04-22 102 views
0

Removing duplicate values from a PowerShell array类似,我想从数组中删除元素。问题是,我积极地处理数组的末尾,所以我想保留重复的最后一个实例。 | select -uniq删除数组中的重复项。删除数组开头的重复项

实施例(从上面链路两者改性一点点):

$a = @(1,2,5,3,0,4,5,6,2,7,8,9,0) $a = $a | select -uniq

输出为$一个:

1,2,5,3,0,4,6,7, 8,9

但所需的输出我在寻找:

1,3,4,5,6,2,7,8,9,0

基本上我想离开重复的最后一个实例。

谢谢!

回答

3

一种方法是颠倒阵列,使select -unique有效地反向工作,然后反转结果以对其进行归一化。

$a = @(1,2,5,3,0,4,5,6,2,7,8,9,0) 
[array]::Reverse($a) 
$a = $a | select -unique 
[array]::Reverse($a) 
$a -join ',' 
1,3,4,5,6,2,7,8,9,0 
+0

或者'($ a [$ a.length..0] | select -uniq)[$ a.length..0]'在控制台中快速运行。 – iCodez

+0

这对我有用!谢谢! – user3585839