यह इस सवाल के समान है, केवल PHP-> जावास्क्रिप्टजावास्क्रिप्ट में सरणी में अंतिम कुंजी कैसे प्राप्त करें?
How to get numeric key of new pushed item in PHP?
यह इस सवाल के समान है, केवल PHP-> जावास्क्रिप्टजावास्क्रिप्ट में सरणी में अंतिम कुंजी कैसे प्राप्त करें?
How to get numeric key of new pushed item in PHP?
var foo = myarray[myarray.length - 1];
पसंदीदा शब्द है, तत्व है बल्कि कुंजी से।
संपादित करें: या क्या आपका अंतिम सूचकांक है? वह myarray.length - 1
है। ध्यान रखें, जावास्क्रिप्ट सरणी को केवल संख्यात्मक रूप से अनुक्रमित किया जा सकता है (हालांकि सरणी भी वस्तुएं हैं, जो कुछ भ्रम पैदा करती हैं)।
एक सरणी के अंतिम कुंजी हमेशा arr.length-1
है के रूप में सरणियों हमेशा कुंजी 0
के साथ शुरू:
var arr = new Array(3); // arr === [], arr.length === 3
arr.push(0); // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0
var arr = []; // arr === [], arr.length === 0
arr[3] = 0; // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0
यदि यह एक फ्लैट सरणी है, यह करना होगा:
return array.length - 1;
हालांकि, अगर आपके पास सहयोगी सरणी है, आपको इसके माध्यम से कुंजी और लूप जानना होगा। कृपया ध्यान दें कि जावास्क्रिप्ट को "सहयोगी सरणी" जैसी कोई चीज़ नहीं है, क्योंकि जावास्क्रिप्ट में अधिकांश तत्व वस्तुएं हैं।
अस्वीकरण: जावास्क्रिप्ट में सहयोगी सरणी का उपयोग generally not a good practice है और समस्याएं पैदा कर सकता है।
var x = new Array();
x['key'] = "value";
for (i in x)
{
if (i == 'key')
{
alert ("we got "+i);
}
}
'ऐरे' का उपयोग क्यों करें? आप इसकी सरणी का उपयोग नहीं कर रहे हैं (यानी जादू 'लंबाई' संपत्ति) ताकि आप 'ऑब्जेक्ट' का भी उपयोग कर सकें। इसके अलावा, जावास्क्रिप्ट स्पेक 'इन ... लूप' का उपयोग करते समय चाबियों के क्रम के बारे में कोई गारंटी नहीं देता है, इसलिए "आखिरी कुंजी" –
जैसी कोई चीज़ नहीं है, उदाहरण के लिए, मैंने लम्बाई प्रॉपर्टी का उपयोग किया। चूंकि यह संपत्ति सहयोगी सरणी पर उपलब्ध नहीं है, इसलिए मैंने दूसरा उदाहरण जोड़ा, जो क्लीरी "अनुरूपित अंतिम कुंजी" के उपयोग के मामले को प्रदर्शित करता है।चूंकि ओपी अंतिम कुंजी का नाम जान लेगा, इसलिए उपर्युक्त विधि के साथ वास्तविक तत्व प्राप्त करना संभव होगा। –
पुन:। लंबाई संपत्ति, मैं दूसरे उदाहरण का जिक्र कर रहा था, पहले नहीं। –
गरीब अंग्रेजी के लिए पहली बार खेद है। मान लें कि आपकी सरणी संख्या प्रारूप में स्ट्रिंग कुंजियों के साथ "कुंजी संबद्ध सरणी" है। आपको 3 चरण की आवश्यकता होगी: सभी सरणी कुंजी प्राप्त करें। सरणी कुंजी को पूर्णांक में कनवर्ट करें। अधिकतम या लंबाई या कोई अन्य कुंजी गुण प्राप्त करें।
stringKeys= Object.keys(keyValueArray);//get keys of array
integerKeys=stringKeys.map(Number);//convert to integer
mx=Math.max.apply(integerKeys);//get max
len=stringKeys.length;//get length
आशा मैं
तब मूल प्रश्न का उत्तर देने के लिए जो मुझे सहयोगी सरणी में आखिरी कुंजी है: स्ट्रिंगकेज़ [लेन -1] या यदि आप एक पूर्णांक पूर्णांक चाहते हैं [लेन -1]। –
Math.max(...[...myArray.keys()]);
मदद की यहाँ myArray
एक सरणी का नाम है।
यह आपके निर्दिष्ट प्रश्न के आधार पर एक समाधान है। सरणी मानना एक एकल आयामी सरणी है या सभी सरणी कुंजी संख्यात्मक हैं।
पुस्तकें: Math.max, Array.prototype.keys(), Iterators and generators
यह गलत हो सकता है, तो आप उस पोस्ट पर एक नजर है चाहिए। – user198729
क्या "गलत हो सकता है"? –
@ user198729 जावास्क्रिप्ट में Arrays PHP से अलग काम करते हैं। PHP उन्हें स्पैस एरे के रूप में लागू करता है, यही कारण है कि पहले/अंतिम तत्व की अनुक्रमणिका हमेशा 0/लेन -1 नहीं होती है। जावास्क्रिप्ट में सभी सरणी घने सरणी, शून्य-आधार, पूरी तरह से आबादी वाले (शायद अपरिभाषित) इंडेक्स तत्व 0 से। लम्बाई -1 होते हैं। – nicerobot