Monday 15 March 2010

javascript - get unique elements count jquery -


मेरे पास निम्न HTML है

  & lt; input type = "hidden" name = " Product_id "value =" 1 "class =" product_id "/ & gt; & Lt; इनपुट प्रकार = "छिपा हुआ" नाम = "उत्पाद_आईडी" मान = "2" वर्ग = "उत्पाद_आईडी" / & gt; & Lt; इनपुट प्रकार = "छिपा हुआ" नाम = "उत्पाद_आईडी" मान = "5" वर्ग = "उत्पाद_आईडी" / & gt; & Lt; इनपुट प्रकार = "छिपा हुआ" नाम = "उत्पाद_आईडी" मान = "1" वर्ग = "उत्पाद_आईडी" / & gt; & Lt; इनपुट प्रकार = "छिपा हुआ" नाम = "उत्पाद_आईडी" मान = "2" वर्ग = "उत्पाद_आईडी" / & gt; & Lt; इनपुट प्रकार = "छिपा हुआ" नाम = "उत्पाद_आईडी" मान = "2" वर्ग = "उत्पाद_आईडी" / & gt;   

मैं गिनती का अद्वितीय तत्वों (तत्वों का अद्वितीय मूल्य) कैसे प्राप्त कर सकता हूं?

क्या यह संभव बिना पाशन ?

अपेक्षित परिणाम:

  अद्वितीय आईडी संख्या ---------------- - 1 2 2 3 5 1  

मैंने जो कोशिश की है वह नीचे की तरह कुछ है, लेकिन इस दृष्टिकोण के साथ समस्या यह है कि यह सभी तत्वों को लूप कर देगा। जैसा कि आप देख सकते हैं पहले पुनरावृत्ति पर हम product_id की 1 की गिनती को समझ सकते हैं, इसलिए इसे किसी भी अन्य तत्व को समान product_id के साथ छोड़ना होगा। मेरे पास तत्वों का गुच्छा है और मैं सभी तत्वों को पाशन पसंद नहीं करता।

  $ ("। Product_id")। प्रत्येक (फ़ंक्शन () {// चेक करें और COUNT को चेक करें यह कुछ समय के लिए)};   

अपडेट:

इसका ठीक नीचे उतरना है, लेकिन यदि आप उस नीचे वोट के लिए एक टिप्पणी डालते हैं तो यह बहुत मददगार होगा। मैं विशेष रूप से बिना पाशन के रूप में निर्दिष्ट करता हूं क्योंकि मैं हालांकि यद्यपि कुछ समय के लिए jQuery के शक्तिशाली सीएसएस चयनकर्ताओं के साथ संभव हो सकता है।

आप किसी ऑब्जेक्ट की कुंजी के रूप में मानों का जमाण कर सकते हैं - & gt; गिनती जोड़ी, हालांकि यह तत्वों पर बिना पाशन किए बिना किया जा सकता है, चाहे यह स्पष्ट लूप या सहायक कार्य जैसे .each :

  var count = {}; $ ('। Product_id') प्रत्येक (फ़ंक्शन () {count [this.value] = count [this.value] + 1 || 1;});   

तब आपको गिनती किए मूल्यों पर पुनरावृत्त करने के लिए फिर से लूप करना होगा।

जब आप सकता है एक समान चयन से मेल खाने वाले सभी तत्वों को गिनने के लिए एक jQuery चयनकर्ता का उपयोग करें, यह वास्तव में प्रत्येक तत्व पर बस चलने की तुलना में काफी कम कुशल होगा। यहां प्रस्तुत कोड ओ (एन) है, लेकिन प्रत्येक नए अद्वितीय मूल्य को खोजने का वैकल्पिक एल्गोरिथ्म और फिर यह गिनती कि यह कितनी बार होता है, लगभग ओ (एन ^ 2) होगा

No comments:

Post a Comment