सरणी पुनरावृत्ति के साथ जावास्क्रिप्ट में for..in लूप का उपयोग करना निम्न व्यवहार के कारण एक बुरा विचार है -
सामान्य पुनरावृत्ति लूप का उपयोग करना -
उदाहरण
चलो arr =[]arr[4] =5for (चलो i =0; iआउटपुट
undefinedundefinedundefinedundefined5यदि हमने निर्माण के लिए का उपयोग करके इस सरणी पर पुनरावृति की होती, तो हमें -
. मिल जाताउदाहरण
<पूर्व>गिरफ्तारी करें =[]arr[4] =5for (मुझे गिरफ्तार होने दें) { कंसोल.लॉग(arr[i])}
आउटपुट
5
ध्यान दें कि सरणी की लंबाई 5 है, लेकिन यह अभी भी सरणी में केवल एक मान पर पुनरावृति करता है।
ऐसा इसलिए होता है क्योंकि फॉर-इन स्टेटमेंट का उद्देश्य ऑब्जेक्ट गुणों की गणना करना है। यह कथन प्रोटोटाइप श्रृंखला में ऊपर जाएगा, जिसमें विरासत में मिली संपत्तियों की भी गणना की जाएगी, एक ऐसी चीज जो कभी-कभी वांछित नहीं होती है।