มีหลายวิธีในการตรวจสอบว่าวัตถุเป็นอาร์เรย์ใน JavaScript หรือไม่ ให้เราดูสิ่งเหล่านี้ -
การใช้ Array.isArray()
เบราว์เซอร์สมัยใหม่ทั้งหมดรองรับวิธีนี้
ตัวอย่าง
console.log(Array.isArray(undefined)) console.log(Array.isArray(null)) console.log(Array.isArray("")) console.log(Array.isArray({})) console.log(Array.isArray([])) console.log(Array.isArray([1, "hello"])) console.log(Array.isArray(new Array()))
ผลลัพธ์
false false false false true true true
การตรวจสอบคอนสตรัคเตอร์
คุณสามารถใช้ arr.constructor ===Array เพื่อตรวจสอบว่าวัตถุเป็นอาร์เรย์ วิธีนี้ใช้ไม่ได้กับทุกอ็อบเจ็กต์
ตัวอย่าง
// This will fail: console.log(undefined.constructor === Array) // This will fail: console.log(null.constructor === Array) console.log("".constructor === Array) console.log({}.constructor === Array) console.log([].constructor === Array) console.log([1, "hello"].constructor === Array) console.log(new Array().constructor === Array)
ผลลัพธ์
false false true true true