2012-10-09 31 views
5

संभव डुप्लिकेट:
how to fetch array keys with jQuery?php समारोह array_keys jQuery में बराबर

php में निर्मित समारोह array_keys(), jQuery में बराबर वहाँ php के समान jQuery में समारोह में किसी भी निर्माण किया है array_keys(),

कृपया सुझाव है

+1

इसे देखें: http://stackoverflow.com/questions/1254227/how-to-fetch-array-keys-with-jquery – Josh

+1

बीटीडब्ल्यू: जावास्क्रिप्ट में Arrays केवल संख्यात्मक कुंजी हो सकती है, ऐसी कोई चीज़ नहीं है सहयोगी सरणी इसे केवल किसी ऑब्जेक्ट द्वारा अनुकरण किया जा सकता है ([लेकिन इसमें त्रुटियां हैं] (http://blog.kevinchisholm.com/javascript/associative-arrays-in-javascript/)) –

उत्तर

4

आप एक ही कार्यक्षमता प्राप्त करने के लिए अपने स्वयं के समारोह को परिभाषित करना होगा। इसे आज़माएं:

function arrayKeys(input) { 
    var output = new Array(); 
    var counter = 0; 
    for (i in input) { 
     output[counter++] = i; 
    } 
    return output; 
} 

arrayKeys({"one":1, "two":2, "three":3}); // returns ["one","two","three"] 
1

PHPJS पर एक परियोजना है कि कम से कम निर्भरता के साथ वेनिला जावास्क्रिप्ट में कई पीएचपी कार्यों पुन: पेश करना है एक नजर डालें,। आपके मामले में, आप array_keys चाहते हैं।

3

इस के लिए jQuery में कुछ भी विशिष्ट नहीं है। एक जावास्क्रिप्ट विधि है लेकिन यह अभी तक Object.keys() का व्यापक रूप से समर्थित नहीं है, इसलिए लोग सामान्य परियोजनाओं के लिए इसका उपयोग नहीं करते हैं। सबसे अच्छी बात मैं के बारे में सोच सकता है

var keys = $.map(your_object, function(value, key) { 
    return key; 
}); 
+0

यह सबसे अच्छा जवाब है, लेकिन 'Object.keys () 'अब व्यापक रूप से समर्थित है, आईई 9 + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys सहित – sMyles

3

है आप इस के लिए jQuery या किसी अन्य पुस्तकालय की जरूरत नहीं है - यह जावास्क्रिप्ट का एक मानक हिस्सा है।

for(var key in myObject) { 
    alert(key); 
} 

यह आपके लिए ऑब्जेक्ट के माध्यम से लूप करने के लिए पर्याप्त होना चाहिए। लेकिन आप वास्तव में (यानी php समारोह की एक वास्तविक क्लोन में बदल) अपने स्वयं के सरणी में कुंजी पाने के लिए चाहते हैं, तो यह काफी तुच्छ विस्तार करने के लिए ऊपर है:

function array_keys(myObject) { 
    output = []; 
    for(var key in myObject) { 
     output.push(key); 
    } 
    return output; 
} 

ध्यान दें, वहाँ का उपयोग कर के साथ चेतावनियां हैं for(..in..) उन ऑब्जेक्ट्स के लिए तकनीक जिनमें गुण या विधियां हैं जिन्हें आप शामिल नहीं करना चाहते हैं (जैसे कोर सिस्टम गुण), लेकिन एक साधारण ऑब्जेक्ट के लिए जिसे आपने स्वयं बनाया है या JSON स्ट्रिंग से, यह आदर्श है।

(चेतावनियां के बारे में अधिक जानकारी के लिए, http://yuiblog.com/blog/2006/09/26/for-in-intrigue/ देखें)

1

जावास्क्रिप्ट में सहयोगी सरणी जैसी कोई चीज़ नहीं है। ऑब्जेक्ट्स (ऑब्जेक्ट अक्षर) समान मामलों को संभालते हैं।

var keys = [], i = 0;  
for(keys[ i++ ] in yourObject); 

और अब keys सभी yourObject संपत्ति के नाम (कुंजी) शामिल हैं।

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

  • कोई संबंधित समस्या नहीं^_^