Array.isArray() एक स्थिर मेथड है जो विश्वसनीय रूप से जांचता है कि कोई मान एरे है या नहीं। यह instanceof Array से बेहतर है क्योंकि यह क्रॉस-फ्रेम/आईफ्रेम काम करता है।
उदाहरण
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; padding: 20px; }
.sample { font-size: 20px; font-weight: 500; }
button { padding: 10px 20px; background: #17a2b8; color: white; border: none; border-radius: 4px; cursor: pointer; }
</style> </head> <body>
<h1>JavaScript Array.isArray() मेथड</h1>
<div class="sample"></div>
<button class="Btn">एरे चेक करें</button>
<h3>ऊपर दिए गए बटन पर क्लिक करके जांचें कि ऑब्जेक्ट एरे है या नहीं</h3>
<script>
const fillEle = document.querySelector(".sample");
const arr = ["गाय", "बैल", "शेर", "बाघ", "भेड़"];
fillEle.innerHTML = "एरे: " + arr;
document.querySelector(".Btn").addEventListener("click", () => {
fillEle.innerHTML = "उपरोक्त ऑब्जेक्ट एरे है: " + Array.isArray(arr);
});
</script> </body> </html>
आउटपुट
क्लिक करने पर: उपरोक्त ऑब्जेक्ट एरे है: true
क्यों Array.isArray() सर्वश्रेष्ठ है?
| विधि | कोड | समस्या |
|---|---|---|
Array.isArray() | Array.isArray([]) | ✅ हमेशा सही |
instanceof | [] instanceof Array | ❌ iframe में फेल |
constructor | [].constructor === Array | ❌ प्रोटोटाइप चेन तोड़ने पर फेल |
Object.prototype.toString | Object.prototype.toString.call([]) === "[object Array]" | ✅ काम करता है लेकिन verbose |
व्यावहारिक उदाहरण
function processData(data) {
if (Array.isArray(data)) {
return data.map(item => item * 2);
} else if (typeof data === 'object' && data !== null) {
return Object.values(data).map(v => v * 2);
}
throw new Error("एरे या ऑब्जेक्ट अपेक्षित");
}
console.log(processData([1,2,3])); // [2,4,6]
console.log(processData({a:1, b:2})); // [2,4]
console.log(processData("string")); // Error