मान लीजिए कि मैं एक उपयोगकर्ता स्क्रिप्ट डेवलपर हूं और मेरे पास ऑन-पेज जावास्क्रिप्ट पर नियंत्रण नहीं है। पृष्ठ यादृच्छिक लंबाई के साथ सरणी बनाता है, उन्हें यादृच्छिक मूल्यों (जैसे falsy सहित, undefined
सहित) भरना। प्रत्येक तत्व को एक मान असाइन नहीं किया जाना चाहिए, इसलिए खाली स्लॉट हो सकते हैं।अपरिभाषित सरणी तत्वों और खाली स्लॉट के बीच कैसे बताना है?
एक सरल उदाहरण (फ़ायरफ़ॉक्स कंसोल):
var arr = new Array(3);
arr[0] = null;
arr[1] = undefined;
console.log(arr); \\ Array [ null, undefined, <1 empty slot> ]
console.log(arr[1]); \\ undefined
console.log(arr[2]); \\ undefined
console.log(arr[1] === arr[2]); \\ true
console.log(typeof arr[1]); \\ undefined
console.log(typeof arr[2]); \\ undefined
हम देख सकते हैं, फायरफॉक्स अलग ढंग से undefined
और खाली स्लॉट को प्रदर्शित करता है, जबकि जावास्क्रिप्ट के लिए वे समान होने लगते हैं।
अब मान लीजिए कि मैं इस तरह की एक सरणी को साफ करना चाहता हूं, सभी खाली स्लॉट को हटा रहा हूं लेकिन undefined
तत्वों को बरकरार रखता हूं। मैं उसको कैसे करू?
क्या खाली स्लॉट का मतलब है? क्या आप एक नई सरणी चाहते हैं? –