में प्रत्येक के लिए और लूप के बीच अंतर मैं सोच रहा हूं: क्या forEach
और for
जावास्क्रिप्ट में लूप के बीच कोई महत्वपूर्ण अंतर है।जावास्क्रिप्ट
- प्रदर्शन: JsPerf के अनुसार:
var myArray = [1,2,3,4]; myArray.forEach(function(value) { console.log(value); }); for (var i = 0; i < myArray.length; i++) { console.log(myArray[i]); }
यहाँ मेरी अनुसंधान का हिस्सा है:
इस उदाहरण पर विचार foreach पाश के लिए की तुलना में थोड़ी धीमी है।
- प्रयोज्यता: कोई भी तरीका नहीं है कि हम प्रत्येक लूप के मामले में कॉलबैक से तोड़ सकते हैं/वापस लौट सकते हैं।
उदाहरण के लिए: आप यह जानना चाहते हैं कि कोई संख्या प्रमुख है या नहीं। मुझे लगता है कि लूप के लिए उपयोग करने के लिए प्रत्येक लूप के लिए उपयोग करने से कहीं अधिक आसान है।
- पठनीयता: लूप के लिए उपयोग कोड को कोड के लिए कोड करने से अधिक पठनीय बनाता है।
- ब्राउज़र संगतता: आईई < 9 में प्रत्येक समर्थित नहीं है, इसलिए यह हमारे कोड में कुछ शिम पेश करता है।
मेरे प्रश्न हैं:
- क्या foreach के फायदे पाश के लिए अधिक कर रहे हैं?
- किस परिदृश्य में, प्रत्येक के लिए अधिक बेहतर है।
- यह जावास्क्रिप्ट में क्यों आया? इसकी आवश्यकता क्यों थी?
अच्छी तरह से तकनीकी रूप से आप एक त्रुटि फेंक कर प्रत्येक के लिए बाहर निकल सकते हैं .... 1) राय 2) राय 3) राय। – epascarello
@ सिर्को-मुझे लगता है कि आपका मतलब है '[1,2,, 3,4] '। आपकी टिप्पणी में सरणी में पांच सदस्य हैं, * * * * * * प्रत्येक * के लिए सभी पांच आएंगे। हालांकि, यदि एक (या अधिक) सदस्य मौजूद नहीं हैं (एक तथाकथित "स्पैस" सरणी) तो * के लिए * गायब सदस्यों की यात्रा नहीं करेगा। – RobG
@RobG दाएं। अभी सही नहीं हो सकता – Sirko