วิธีลบรายการออกจากอาร์เรย์ใน PowerShell
คุณจำเป็นต้องลบรายการออกจากอาร์เรย์ใน PowerShell หรือไม่? ในโพสต์นี้ เราจะสำรวจวิธีลบรายการออกจากอาร์เรย์ใน PowerShell โดยใช้วิธีการและตัวอย่างต่างๆ
หากต้องการลบรายการออกจากอาร์เรย์ใน PowerShell ให้สร้างอาร์เรย์ใหม่โดยไม่มีรายการที่คุณต้องการลบ หรือใช้ ArrayList ซึ่งคุณสามารถใช้วิธี Remove ได้โดยตรง ตัวอย่างเช่น หากต้องการลบรายการที่ดัชนี 0 ออกจากอาร์เรย์ คุณสามารถใช้ $array=$array[1..$array.length] เพื่อข้ามรายการแรก หรือคุณสามารถส่งอาร์เรย์ไปยัง ArrayList แล้วใช้วิธี RemoveAt เช่น [System.Collections.ArrayList]$arrayList=$array; $arrayList.RemoveAt(0).
ลบรายการออกจากอาร์เรย์ใน PowerShell
ตอนนี้ให้เราดูวิธีการลบรายการออกจากอาร์เรย์ใน PowerShell โดยใช้วิธีการต่างๆ
นี่คือตัวอย่างของอาร์เรย์ PowerShell ซึ่งมีบางรายการดังนี้:
$myArray = @(1, 2, 3, 4, 5)ซึ่งจะสร้างอาร์เรย์ที่มีจำนวนเต็มห้าตัวใน PowerShell
1. การใช้ $Null วิธีการมอบหมาย
วิธีที่ง่ายที่สุดวิธีหนึ่งในการลบรายการออกจากอาร์เรย์ใน PowerShell คือการกำหนด $Null ให้กับดัชนีที่คุณต้องการลบ:
$myArray = @(1, 2, 3, 4, 5)
$myArray[2] = $Null # This will remove the item at index 2คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง
อย่างไรก็ตาม การดำเนินการนี้ไม่ได้ลบรายการออกทั้งหมด โดยจะแทนที่รายการด้วยค่า $Null หากต้องการลบรายการออกทั้งหมด คุณจะต้องกรองออก:
$myArray = @(1, 2, 3, 4, 5)
$myArray = $myArray | Where-Object { $_ -ne $Null }2. โดยการสร้างอาร์เรย์ใหม่
หากคุณกำลังจัดการกับอาร์เรย์ที่มีขนาดคงที่ คุณจะไม่สามารถลบรายการออกจากอาร์เรย์ PowerShell ได้โดยตรง แต่คุณสร้างอาร์เรย์ใหม่ที่ยกเว้นรายการที่คุณต้องการลบแทน:
$myArray = @(1, 2, 3, 4, 5)
$myArray = $myArray[0..1] + $myArray[3..4] # This will exclude the item at index 2วิธีการนี้เกี่ยวข้องกับการต่อส่วนของอาเรย์ดั้งเดิมเข้าด้วยกัน โดยละเว้นองค์ประกอบที่คุณต้องการลบ
ฉันได้รันสคริปต์โดยใช้โค้ด VS และคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
3. การใช้ ArrayLists
อีกวิธีหนึ่งในการลบรายการออกจากอาร์เรย์คือการใช้ PowerShell ArrayList ซึ่งเป็นอาร์เรย์แบบไดนามิกที่ให้วิธีการเพิ่มและลบรายการ:
$myArray = @(1, 2, 3, 4, 5)
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($myArray) # Add the items of $myArray to $arrayList
$arrayList.Remove(3) # This will remove the first occurrence of the value 3ArrayLists ไม่ใช่อาร์เรย์ต่อตัว แต่จะมีประโยชน์มากเมื่อคุณต้องการจัดการคอลเลกชันของรายการแบบไดนามิก
4. การใช้วิธี RemoveAt
หากคุณทราบดัชนีของรายการที่คุณต้องการลบ คุณสามารถใช้วิธี RemoveAt ของ ArrayList ได้ดังนี้
$arrayList.RemoveAt(2) # This will remove the item at index 2วิธีนี้มีเฉพาะสำหรับ ArrayLists และไม่สามารถใช้กับอาร์เรย์ PowerShell ปกติได้
ลองดูตัวอย่างบางส่วนของการลบรายการออกจากอาร์เรย์ใน PowerShell
ลบรายการออกจาก PowerShell Array ตามค่า
อาจมีสถานการณ์ที่คุณอาจต้องลบรายการออกจากอาร์เรย์ PowerShell ตามค่า นี่คือสคริปต์ PowerShell ที่สมบูรณ์ซึ่งจะลบรายการทั้งหมดของค่า 3
$myArray = @(1, 2, 3, 4, 5)
$myArray = $myArray | Where-Object { $_ -ne 3 } # Removes all occurrences of the value 3ลบรายการออกจากอาร์เรย์ใน PowerShell ตามดัชนี
นี่เป็นอีกตัวอย่างหนึ่งที่ฉันต้องลบรายการออกจากอาร์เรย์ใน PowerShell ตามดัชนี
$myArray = @(1, 2, 3, 4, 5)
$indexToRemove = 2
$myArray = $myArray[0..($indexToRemove-1)] + $myArray[($indexToRemove+1)..($myArray.Length-1)]
บทสรุป
การลบรายการออกจากอาร์เรย์ใน PowerShell สามารถทำได้หลายวิธี ขึ้นอยู่กับว่าคุณกำลังทำงานกับอาร์เรย์ขนาดคงที่หรือต้องการความสามารถแบบไดนามิกเพิ่มเติม
ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีลบรายการออกจากอาร์เรย์ใน PowerShell โดยใช้วิธีด้านล่าง:
- การใช้วิธีมอบหมาย $Null
- โดยการสร้างอาร์เรย์ใหม่
- การใช้ ArrayList
- ใช้วิธี RemoveAt
ฉันได้อธิบายตัวอย่างด้านล่างด้วย:
- ลบรายการออกจาก PowerShell Array ตามค่า
- ลบรายการออกจากอาร์เรย์ใน PowerShell ตามดัชนี

