2010-03-16 15 views
6
var fruits = [ 'apple', 'banana', 'orange' ]; 

मुझे कैसे पता चलेगा कि "केला" मूल्य का सूचकांक क्या है? (जो, ज़ाहिर है, "1" है)।मैं किसी आइटम की अनुक्रमणिका को सरणी में कैसे प्राप्त करूं?

धन्यवाद

+0

ओह, मैं "कैसे सरणी में आइटम्स की संख्या प्राप्त करने के लिए" के रूप में अपने पोस्ट शीर्षक पढ़ने में भूलना। अच्छा है कि आपने इसे अब स्पष्ट कर दिया है। –

उत्तर

12

यहाँ दिखाया गया है: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/IndexOf

if (!Array.prototype.indexOf) 
{ 
    Array.prototype.indexOf = function(elt /*, from*/) 
    { 
    var len = this.length >>> 0; 

    var from = Number(arguments[1]) || 0; 
    from = (from < 0) 
     ? Math.ceil(from) 
     : Math.floor(from); 
    if (from < 0) 
     from += len; 

    for (; from < len; from++) 
    { 
     if (from in this && 
      this[from] === elt) 
     return from; 
    } 
    return -1; 
    }; 
} 

उपयोग:

var fruits = [ 'apple', 'banana', 'orange' ]; 
var index = fruits.indexOf('banana'); 

वापसी करेंगे '1'

+0

>>> मेरे लिए नया है। यह क्या करता है? Google इसके लिए बेकार है! – spender

+0

इसे आपकी स्क्रिप्ट के शीर्ष पर शामिल किया जाना चाहिए और मूल रूप से विधि को शामिल करने के लिए जावास्क्रिप्ट को विस्तारित करना चाहिए। मैं उपयोग के साथ अपना जवाब अपडेट कर रहा हूं। –

+0

@ स्पेंडर, यह इस संदर्भ में * हस्ताक्षरित सही शिफ्ट * बिटवाई ऑपरेटर है, वे यह सुनिश्चित करने के लिए उपयोग करते हैं कि 'लंबाई' मान 32-बिट हस्ताक्षरित पूर्णांक है (सभी बिटवाई ऑपरेटर आंतरिक रूप से 32-बिट इनट्स के साथ काम करते हैं) ... – CMS

4

कोई अंतर्निहित सूचकांक वापस जाने के लिए संपत्ति एक विशेष वस्तु का। यदि आपको फ़ंक्शन की आवश्यकता है तो आप प्रोटोटाइप फ़ंक्शन का उपयोग कर सकते हैं जैसा कि डुरिलई द्वारा परिभाषित किया गया है। लेकिन तुम मान देने के लिए इस सरल कोड ब्लॉक का उपयोग कर सकते अगर आप सिर्फ सूचकांक खोजने की जरूरत है:

for (var i=0; i<fruits.length; i++) 
{ 
    if (fruits[i] == "banana") 
    { 
    alert(i); 
    } 
} 
संबंधित मुद्दे

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