【问题标题】:Remove duplicates from beginning of array从数组的开头删除重复项
【发布时间】:2015-04-22 23:36:16
【问题描述】:

类似于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

$a 的输出:

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

但我正在寻找所需的输出:

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

基本上我想留下一个重复的最后一个实例。

谢谢!

【问题讨论】:

    标签: arrays powershell duplicate-removal


    【解决方案1】:

    一种选择是反转数组,以便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
    

    【讨论】:

    • ($a[$a.length..0] | select -uniq)[$a.length..0] 在控制台中快速运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2011-01-04
    • 2018-02-16
    相关资源
    最近更新 更多