วิธีตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่
จะมีบางครั้งที่คุณอาจต้องตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่ ในบทช่วยสอน PowerShell นี้ ฉันจะอธิบายรายละเอียดวิธีการตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่
หากต้องการตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่ คุณสามารถประเมินจำนวนอาร์เรย์ได้ ใช้เงื่อนไข $array.Count -gt 1 เพื่อตรวจสอบว่าอาร์เรย์มีมากกว่าหนึ่งองค์ประกอบหรือไม่ หากผลลัพธ์เป็น $true อาร์เรย์จะมีค่าหลายค่า ถ้า $false จะไม่มีหรือว่างเปล่า
ตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่
อาร์เรย์เป็นโครงสร้างข้อมูลที่เก็บคอลเลกชันของรายการ รายการเหล่านี้อาจเป็นประเภทเดียวกันหรือต่างกันก็ได้ ใน PowerShell การสร้างอาร์เรย์ทำได้ง่ายเพียงแค่กำหนดค่าหลายค่าให้กับตัวแปร:
$array = 1, 2, 3, 4, 5รหัสข้างต้นสร้างอาร์เรย์ที่มีองค์ประกอบจำนวนเต็มห้าองค์ประกอบ ตอนนี้ให้เราตรวจสอบวิธีการด้านล่างเพื่อดูว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่
1. โดยการตรวจสอบขนาดอาร์เรย์
วิธีที่ง่ายที่สุดในการตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าหรือไม่คือการตรวจสอบขนาดใน PowerShell คุณสามารถทำได้โดยใช้คุณสมบัติ Count ของอาร์เรย์:
$array = 1, 2, 3
if ($array.Count -gt 1) {
"Array contains more than one value."
} else {
"Array contains one or no values."
}
ในตัวอย่างข้างต้น -gt มีค่ามากกว่าตัวดำเนินการ และ Count ส่งคืนจำนวนองค์ประกอบในอาร์เรย์ หากอาร์เรย์มีมากกว่าหนึ่งองค์ประกอบ เงื่อนไขจะประเมินเป็น $true
คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง
2. การใช้คุณสมบัติความยาว
เช่นเดียวกับคุณสมบัติ Count คุณสามารถใช้คุณสมบัติ Length เพื่อกำหนดจำนวนองค์ประกอบในอาร์เรย์ใน PowerShell
$array = 'PowerShell', 'Scripting'
if ($array.Length -gt 1) {
"Array contains more than one value."
} else {
"Array contains one or no values."
}คุณสมบัติทั้ง Length และ Count จะให้จำนวนองค์ประกอบทั้งหมดในอาร์เรย์
3. โดยการตรวจสอบค่าเฉพาะ
หากคุณสนใจที่จะตรวจสอบค่าเฉพาะภายในอาร์เรย์ คุณสามารถใช้ตัวดำเนินการ -contains ได้ โอเปอเรเตอร์นี้ช่วยให้คุณกำหนดได้ว่าอาร์เรย์มีค่าใดค่าหนึ่งหรือไม่:
$array = 'Windows', 'Linux', 'macOS'
if ($array -contains 'Linux') {
"Array contains the value 'Linux'."
} else {
"Array does not contain the value 'Linux'."
}ตัวดำเนินการ -contains มีประโยชน์ในการตรวจสอบการมีอยู่ของค่าเดียว แต่ไม่ได้บอกคุณโดยตรงว่ามีหลายค่าในอาร์เรย์หรือไม่
4. โดยใช้ฟังก์ชันแบบกำหนดเอง
สำหรับสถานการณ์ขั้นสูง คุณอาจต้องการสร้างฟังก์ชันแบบกำหนดเองที่ห่อหุ้มตรรกะสำหรับการตรวจสอบว่าอาร์เรย์มีค่าที่ไม่ซ้ำกันมากกว่าหนึ่งค่าหรือไม่ นี่เป็นฟังก์ชันง่ายๆ ที่ทำอย่างนั้น:
function Test-MultipleValues {
param(
[array]$Array
)
if ($Array.Count -gt 1 -and ($Array | Select-Object -Unique).Count -gt 1) {
return $true
}
return $false
}
# Usage
$array = 'A', 'A', 'B', 'C'
if (Test-MultipleValues -Array $array) {
"Array contains more than one unique value."
} else {
"Array contains one or no unique values."
}ในฟังก์ชันนี้ Select-Object -Unique ใช้เพื่อกรองอาร์เรย์ให้เป็นค่าที่ไม่ซ้ำก่อนที่จะนับ
บทสรุป
การตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่นั้นตรงไปตรงมา คุณสามารถใช้คุณสมบัติ Count หรือ Length เพื่อตรวจสอบขนาดของอาร์เรย์ หรือคุณสามารถสร้างฟังก์ชันแบบกำหนดเองสำหรับการตรวจสอบที่ซับซ้อนมากขึ้นได้
ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีการต่างๆ เพื่อตรวจสอบว่าอาร์เรย์มีค่ามากกว่าหนึ่งค่าใน PowerShell หรือไม่
