我有一個數組大小完全不同的數組,但是都是整數。我需要做的是找到每個人的最高價值與以後的某個東西進行比較。不太難,但是當我寫出來的時候,代碼感覺乍一看幾乎不可讀。特別是這一行:是一種更簡潔的方式來獲取數組數組中的最高值嗎?
$logScaleList[$i][$logScaleList[$i].Length-1]
由於這種鈍,或只是與二維數組打交道時,你將有醜陋的嵌套聲明的事實?
全部代碼在這裏:
$logScaleList = [System.Collections.ArrayList]@()
[void]$logScaleList.Add(@(100,126,158,200,251,316,398,501,631,794,1000,1259,1585,1995,2512,3162,3981,5012,5230))
[void]$logScaleList.Add(@(100,126,158,200,251,316,398,501,631,794,1000,1259,1585,1995,2512,3162,3981,5012,5850))
[void]$logScaleList.Add(@(1000,1259,1585,1995,2512,3162,3981,3162,5012,6310,7390))
[void]$logScaleList.Add(@(1,2,3,4,5,6,8,10,13,16,20,25,32,40,50,63,79,100,126,158,200,251,316,398,501,631,794,1000,1259,1585,1995,2512,3162,3981,5012))
[void]$logScaleList.Add(@(1,2,3,4,5,6,8,10,13,16,20,25,40,50,63,79,100,126,158,200,251,316,398,501,631,794,1000,1259,1585,1995,2512))
for ($i = 0; $i -lt $logScaleList.count; $i++)
{
write-host "Top value is" $logScaleList[$i][$logScaleList[$i].Length-1]
}
頂部爲最高值?或者在數組元素0? –
Um,'$ LogScaleList | ForEach {$ _ |選擇-Last 1}或$ LogScaleList | ForEach {$ _ [ - 1]}',其中任何一個都會得到嵌套數組的最後一個值。如果數組不是這樣,你可以通過管道輸入「Sort」,然後輸入「Select -Last 1」。 – TheMadTechnician