Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में ऐरे इटरेशन के लिए "for...in" का उपयोग खराब विचार क्यों है?


JavaScript में ऐरे इटरेशन के लिए for..in लूप्स का उपयोग निम्न व्यवहार के कारण खराब विचार है:

सामान्य इटरेशन लूप्स का उपयोग करना -

उदाहरण

let arr = [] arr[4] = 5 for (let i = 0; i < arr.length; i ++) { console.log(arr[i]) }

आउटपुट

undefined undefined undefined undefined 5

यदि हमने इस ऐरे पर for in कंस्ट्रक्ट का उपयोग करके इटरेट किया होता, तो हमें मिलता:

उदाहरण

let arr = [] arr[4] = 5 for (let i in arr) { console.log(arr[i]) }

आउटपुट

5

ध्यान दें कि ऐरे की लंबाई 5 है, लेकिन यह अभी भी ऐरे में केवल एक मान पर इटरेट करता है।

ऐसा इसलिए होता है क्योंकि for-in स्टेटमेंट का उद्देश्य ऑब्जेक्ट प्रॉपर्टीज़ पर इटरेट करना है। यह स्टेटमेंट प्रोटोटाइप चेन में ऊपर जाएगा, इनहेरिटेड प्रॉपर्टीज़ पर भी इटरेट करेगा, जो कभी-कभी वांछित नहीं होता।

  1. जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना

    जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करने का कोड निम्नलिखित है - उदाहरण <!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

  1. कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना

    जावास्क्रिप्ट में कंडीशन के साथ ऐरे को जोड़ने का कोड निम्नलिखित है - उदाहरण <!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>    

  1. सेलेनियम का उपयोग करके जावास्क्रिप्ट वाले जटिल पेज के लोड होने की प्रतीक्षा करना सेलेनियम का उपयोग करके जावास्क्रिप्ट वाले जटिल पेज के लोड होने की प्रतीक्षा करना

    हम सेलेनियम के साथ जावास्क्रिप्ट वाले जटिल पेज के लोड होने की प्रतीक्षा कर सकते हैं। पेज लोड होने के बाद, हम जावास्क्रिप्ट विधि document.readyState को लागू कर सकते हैं और complete लौटने तक प्रतीक्षा कर सकते हैं।सिंटैक्सJavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript(return docu