มีหลายวิธีในการตรวจสอบว่าวัตถุเป็นอาร์เรย์ใน 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