จะเรียงลำดับอาร์เรย์ใน PowerShell ได้อย่างไร
คุณจำเป็นต้องรู้เกี่ยวกับการเรียงลำดับอาร์เรย์ของ PowerShell หรือไม่ ในบทช่วยสอน PowerShell นี้ ฉันจะอธิบายวิธีจัดเรียงอาร์เรย์ใน PowerShell โดยใช้วิธีการต่างๆ และตัวอย่างจริง
หากต้องการจัดเรียงอาร์เรย์ใน PowerShell ให้ใช้ Sort-Object cmdlet หากต้องการเรียงลำดับจากน้อยไปหามาก เพียงไพพ์อาร์เรย์ลงใน cmdlet เช่น $myArray | เรียงลำดับวัตถุ หากต้องการเรียงลำดับจากมากไปน้อย ให้เพิ่มพารามิเตอร์ -Descending: $myArray | เรียงลำดับวัตถุ -จากมากไปน้อย
เรียงลำดับอาร์เรย์ใน PowerShell
อาร์เรย์เป็นโครงสร้างข้อมูลที่เก็บคอลเลกชันของรายการ รายการเหล่านี้สามารถเป็นประเภทข้อมูลใดก็ได้ และใน PowerShell อาร์เรย์สามารถเก็บรายการประเภทต่างๆ ได้ อาร์เรย์มีประโยชน์อย่างเหลือเชื่อสำหรับการจัดเก็บและจัดการชุดข้อมูล
ให้เราสำรวจวิธีการต่างๆ เพื่อเรียงลำดับอาร์เรย์ PowerShell
การเรียงลำดับอาร์เรย์ PowerShell ด้วย Sort-Object
cmdlet หลักสำหรับการเรียงลำดับใน PowerShell คือ Sort-Object cmdlet นี้เรียงลำดับวัตถุจากน้อยไปหามากหรือจากมากไปน้อยตามค่าคุณสมบัติของวัตถุ หากคุณไม่ระบุคุณสมบัติ PowerShell จะเรียงลำดับตามคุณสมบัติเริ่มต้นสำหรับประเภทออบเจ็กต์
การเรียงลำดับขั้นพื้นฐาน
ต่อไปนี้เป็นตัวอย่างง่ายๆ ของการเรียงลำดับอาร์เรย์ของตัวเลขใน PowerShell โดยใช้ sort-object:
$array = 3, 1, 4, 1, 5, 9, 2
$sortedArray = $array | Sort-Object
$sortedArrayสิ่งนี้จะส่งออกตัวเลขตามลำดับจากน้อยไปหามาก:
1
1
2
3
4
5
9นี่เป็นอีกตัวอย่างหนึ่งของวิธีการเรียงลำดับอาร์เรย์สตริงใน PowerShell
# Define a string array
$stringArray = 'orange', 'apple', 'banana'
# Sort the array in ascending order using Sort-Object
$sortedArray = $stringArray | Sort-Object
# Output the sorted array
$sortedArrayสคริปต์นี้จะส่งออกสตริง 'apple', 'banana' และ 'orange' ตามลำดับตัวอักษรจากน้อยไปหามาก คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์ PowerShell โดยใช้โค้ด VS:
หากคุณต้องการเรียงลำดับจากมากไปน้อย คุณจะต้องแก้ไขบรรทัด Sort-Object เพื่อรวมพารามิเตอร์ -Descending :
# Sort the array in descending order
$sortedArray = $stringArray | Sort-Object -Descendingคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง ฉันใช้รหัส VS; คุณสามารถใช้โปรแกรมแก้ไขใดก็ได้เพื่อรันสคริปต์ PowerShell
การเรียงลำดับจากมากไปหาน้อย
หากต้องการเรียงลำดับอาร์เรย์ PowerShell ตามลำดับจากมากไปน้อย ให้ใช้สวิตช์ -Descending:
$sortedArray = $array | Sort-Object -Descending
$sortedArrayเรียงลำดับอาร์เรย์สตริงใน PowerShell
คุณยังสามารถเรียงลำดับอาร์เรย์สตริงใน PowerShell ได้อีกด้วย ตามค่าเริ่มต้น การเรียงลำดับจะไม่คำนึงถึงขนาดตัวพิมพ์:
$stringArray = 'Banana', 'apple', 'Cherry'
$sortedStringArray = $stringArray | Sort-Object
$sortedStringArray
สิ่งนี้จะเรียงลำดับสตริงตามลำดับตัวอักษร:
apple
Banana
Cherryเรียงลำดับอาร์เรย์ใน PowerShell โดยใช้ Custom Expression
ให้เราดูวิธีการเรียงลำดับอาร์เรย์ใน PowerShell โดยใช้นิพจน์ที่กำหนดเอง คุณสามารถจัดเรียงตามนิพจน์ เช่น ส่วนของสตริงหรือการคำนวณทางคณิตศาสตร์:
$array = 'a1', 'a10', 'a2', 'a3'
$sortedArray = $array | Sort-Object { [int]($_.Substring(1)) }
$sortedArrayสิ่งนี้จะเรียงลำดับอาร์เรย์ตามส่วนตัวเลขของแต่ละสตริง:
a1
a2
a3
a10เรียงลำดับอาร์เรย์ PowerShell ที่มีคุณสมบัติหลายรายการ
คุณยังสามารถจัดเรียงอาร์เรย์ PowerShell ตามคุณสมบัติหลายรายการได้ สิ่งนี้มีประโยชน์เมื่อคุณมีออบเจ็กต์ที่ซับซ้อน และคุณต้องการจัดเรียงตามคุณสมบัติหนึ่ง จากนั้นอีกคุณสมบัติหนึ่ง:
$people = @(
@{ Name = 'John'; Age = 30 },
@{ Name = 'Jane'; Age = 25 },
@{ Name = 'John'; Age = 22 }
)
$sortedPeople = $people | Sort-Object -Property Name, Age
$sortedPeopleสคริปต์ PowerShell ด้านบนจะจัดเรียงบุคคลตามชื่อและอายุภายในแต่ละชื่อ
จัดเรียงอาร์เรย์ด้วยตารางแฮชใน PowerShell
ฉันจะแสดงวิธีจัดเรียงอาร์เรย์ด้วยตารางแฮชใน PowerShell คุณสามารถใช้ตารางแฮชเพื่อระบุการเรียงลำดับที่แตกต่างกันสำหรับคุณสมบัติที่แตกต่างกัน:
$sortedPeople = $people | Sort-Object -Property @{Expression="Name";Descending=$false}, @{Expression="Age";Descending=$true}
$sortedPeopleโดยจะเรียงลำดับตามชื่อจากน้อยไปหามาก และจากนั้นตามอายุจากมากไปน้อย
บทสรุป
การเรียงลำดับอาร์เรย์ใน PowerShell เป็นข้อกำหนดทั่วไป และเราสามารถทำได้โดยใช้วิธีการต่างๆ Sort-Object cmdlet เป็นสิ่งที่ต้องทำสำหรับงานการเรียงลำดับส่วนใหญ่ โดยมีตัวเลือกสำหรับการเรียงลำดับจากน้อยไปหามากหรือจากมากไปน้อย ความละเอียดอ่อนของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และการเรียงลำดับค่าที่ไม่ซ้ำกัน
ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีการทำงานกับ การเรียงลำดับอาร์เรย์ PowerShell โดยเฉพาะวิธีการต่างๆ ในการ จัดเรียงอาร์เรย์ PowerShell

