Arrays 特定变量的Powershell | Sort cmdlet排序
我想对数组进行排序。 数组包含多个文本、数字和变量字符串。 数组应在最后一个变量(数字)之后排序 整个操作如下所示:Arrays 特定变量的Powershell | Sort cmdlet排序,arrays,powershell,sorting,Arrays,Powershell,Sorting,我想对数组进行排序。 数组包含多个文本、数字和变量字符串。 数组应在最后一个变量(数字)之后排序 整个操作如下所示: function mainLoop { a b c d getTogether } function a { $Ranking = 4409 $global:statement1 = "Lorem 903 ipsum dolor $Ranking" } function b { $Ranking = 1294
function mainLoop {
a
b
c
d
getTogether
}
function a {
$Ranking = 4409
$global:statement1 = "Lorem 903 ipsum dolor $Ranking"
}
function b {
$Ranking = 1294
$global:statement2 = "Lorem 186 ipsum dolor $Ranking"
}
function c {
$Ranking = 5502
$global:statement3 = "Lorem 545 ipsum dolor $Ranking"
}
function d {
$Ranking = 8192
$global:statement4 = "Lorem 44 ipsum dolor $Ranking"
}
function getTogether {
$array = @($statement1, "", $statement2, "", $statement3, "", $statement4)
$array = $array | sort
$array
pause
}
mainLoop
因此,这一个只是排序后,其他现有的数字,甚至在字母表。事实上,我需要在变量$Ranking之后进行排序
感谢您的帮助 您的代码没有任何意义(为什么要使用数组和全局变量?),但下面介绍如何对
$Ranking
$Array = $Array | Sort-Object -Property @{Expression={[Int]($PSItem -split '\s')[-1]}}
提示:
(“abcd”-Split“\s+”[-1]
。我不同意你的观点,事实上我的代码做了它应该做的;-)当然,也许还有更好的方法。我使用全局变量,因为否则它们不会提供最后一个函数中的值。。不过,你的把戏解决了问题,非常感谢@Philee我建议阅读关于全局变量的最佳实践(一般而言),但我很高兴这个解决方案对您有效。