2011-06-06 7 views
10

कहते हैं कि मैं एक पृष्ठ तो जैसे कुछ छवि के सूत्रों के अर्क मिल गया है दो:jQuery एपीआई में इंडेक्स के बिना .get() के कारण?

<div id="d"> 
    <img src="foo.gif"/> 
    <img src="bar.gif"/> 
    <img src="gah.gif"/> 
</div> 
<script type="text/javascript"> 
    var srcs = $('div#d > img').map(function(){return this.src}); 
    // srcs => ['foo.gif', 'bar.gif', 'gah.gif'] 
</script> 

ध्यान दें कि srcs JavaScript शृंखला लेकिन एक सरणी जैसी वस्तु नहीं है, हम इस तथ्य के कारण जानते हैं कि हम चयनकर्ता द्वारा लौटाई गई वस्तुओं और srcs.constructor != Array पर jQuery एपीआई कॉल कर सकते हैं।

jQuery API .get() method प्रदान करता है, जब कोई तर्क नहीं दिया जाता है, तो "मानक" ऐरे देता है। क्या सरणी जैसी वस्तु के बजाय मानक ऐरे का उपयोग करने के लिए एक अनिवार्य कारण है या क्या यह विधि पूर्णता के लिए शामिल है?

[संपादित करें]

दूसरे शब्दों में कहें करने के लिए - एक JavaScript और सरणी जैसी वस्तु एक jQuery चयनकर्ता द्वारा लौटाए के बीच मतभेद क्या हैं?

+0

+1 _interesting _... – pixelbobby

+0

खोज जारी है! नकारात्मक इंडेक्स को इंगित करने के लिए http://stackoverflow.com/questions/6253601/how-to-multidimesional-array-as-follows-in-javascript/6253693#6253693 –

उत्तर

2

यह आपको मानक सरणी विधियों का उपयोग करने की अनुमति देता है जिनमें jQuery नहीं है, जैसे push

विशेष रूप से, jQuery ऑब्जेक्ट्स अपरिवर्तनीय होने का इरादा रखते हैं, जबकि सरणी नहीं होती हैं।

1

get का मुख्य लाभ अंतिम तत्व प्राप्त करने के लिए -1 जैसे नकारात्मक इंडेक्स को सक्षम कर रहा है। कोई तर्क आपको मिलान किए गए तत्वों की कच्ची अनचाहे सरणी नहीं देता है।

+0

+1! – maerics

संबंधित मुद्दे