दिलचस्प पोस्ट
MySql में एक अनुवंश संवेदनशील खोज कैसे संचालित करें I कुछ स्क्रिप्ट बंद PHP टैग क्यों छोड़ देते हैं, '?>'? क्या वास्तव में एक नोड। जेएस इवेंट लूप टिक है? मैं डबल क्लिक के माध्यम से इस file.sh निष्पादन योग्य कैसे बना सकता हूँ? HTMLUnit जावास्क्रिप्ट के लिए इंतजार नहीं करता है जीआईटी क्लोन के बाद सीधे संशोधित फाइलें दोहराया वर्णों के साथ नियमित अभिव्यक्ति सक्रिय रिकॉर्ड तालिका में थोक सम्मिलित रिकॉर्ड जावास्क्रिप्ट: क्या इंटीरियर एचटीएमएल या (बहुत से) का उपयोग करने के लिए बेहतर जटिल संरचना को जोड़ने के लिए एलेमेंट कॉल्स करना बेहतर है? jQuery खींचने योग्य और अतिप्रवाह समस्या सी ++ में "अनुवाद इकाई" क्या है $ PHP_AUTOCONF त्रुटियों को मैक ओएस एक्स 10.7.3 पर जब पेक्ल एक्सटेंशन स्थापित करने की कोशिश कर रहा है Symfony2 सिद्धांत स्पष्ट कैश PHP में कई कंस्ट्रक्टर बनाने का सर्वोत्तम तरीका क्या ओएचटीएचटीपी समर्थन स्व-हस्ताक्षरित एसएसएल प्रमाणपत्रों को स्वीकार करता है?

एक सरणी में प्रत्येक वस्तु की घटनाओं की संख्या कैसे गिनेंगी?

मेरे पास एक सरणी है,

var arr = ['ab','pq','mn','ab','mn','ab'] 

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

 arr['ab'] = 3 arr['pq'] = 1 arr['mn'] = 2 

इस प्रकार की कोशिश की,

 $.each(arr, function (index, value) { if (value) arr[value] = (resultSummary[value]) ? arr[value] + 1 : 1; }); console.log(arr.join(',')); 

Solutions Collecting From Web of "एक सरणी में प्रत्येक वस्तु की घटनाओं की संख्या कैसे गिनेंगी?"

इस कार्य के लिए jQuery का उपयोग करने की कोई ज़रूरत नहीं है – यह उदाहरण ऑरेम में हर अलग तत्व की घटनाओं की मात्रा के साथ एक वस्तु का निर्माण करेगी

 var obj = { }; for (var i = 0, j = arr.length; i < j; i++) { obj[arr[i]] = (obj[arr[i]] || 0) + 1; } console.log(obj); /** * { * "ab" : 3, * "pq" : 1, * "mn" : 2 * } */ console.log(obj['mn']); // 2 

उदाहरण बेला: http://jsfiddle.net/8Gt6V/

मुझे लगता है कि सरणी में एक ही मान के साथ घटनाओं को कैसे गिनाना है यह सबसे आसान तरीका है।

 var a = [true, false, false, false]; a.filter(function(value){ return value === false; }).length 

यदि आप चीनी लाइब्रेरी का उपयोग कर रहे हैं तो यह बस है:

 arr.count('ab'); 

डेमो

देखें: ऐरे गिनती एपीआई

 var result = {}; function count(input){ var tmp = 0; if(result.hasOwnProperty(input)){ tmp = result[input]; result[input]=tmp+1; }else{ result[input]=1; } } 

फ़ंक्शन के ऊपर आपको एक स्ट्रिंग के अंक को एक सरणी में गिना जाने में मदद मिलेगी।

अगर आप ऐसा समाधान नहीं चाहते हैं जिसके लिए लाइब्रेरी की आवश्यकता होती है, और विरासत जावास्क्रिप्ट का समर्थन नहीं करना है:

 var report = {}; arr.forEach(function(el){ report[el] = report[el] + 1 || 1; }); 

या यदि आप इसे jQuery का उपयोग करना चाहते हैं:

 var report = {}; $.each(arr,function(i,el){ report[el] = report[el] + 1 || 1; }); 

यह परिस्थितियों के लिए परीक्षण करने के लिए शॉर्ट सर्किट लॉजिक का उपयोग करता है और मान सेट करता है। मुझे लगता है कि यह जावास्क्रिप्ट करने का एक बहुत संक्षिप्त और पठनीय तरीका है।

 console.log( report ); 

$ .grep की कोशिश करें

उदाहरण:

 var arr = ['ab','pq','mn','ab','mn','ab'] jQuery.grep(arr, function(a){ return a == 'ab' }).length // 3 

अगर आईओ 8 का समर्थन आवश्यक नहीं है

 ['ab','pq','mn','ab','mn','ab'].filter(function(value){ return value == 'ab' }).length // 3 

क्या ऐसा हो सकता है कि आप क्या करने की कोशिश कर रहे हैं?

 $.each(arr, function(index, value) { if (!resultSummary[value]){ resultSummary[value] = 0; } resultSummary[value] += 1; }); 

यह कोड सरणी में प्रत्येक स्ट्रिंग की घटनाओं को resultsArray और परिणामों में परिणामों को resultsArray

 var arr = ['ab','pq','mn','ab','mn','ab'] function getCount(arr,val) { var ob={}; var len=arr.length; for(var k=0;k<len;k++) { if(ob.hasOwnProperty(arr[k])) { ob[arr[k]]++; continue; } ob[arr[k]]=1; } return ob[val]; } //run test alert(getCount(arr,'ab'));//3 

डेमो: http://jsfiddle.net/dmx4y/2/

 var arr = ['ab','pq','mn','ab','mn','ab']; var result = { }; for(i=0;i<arr.length;++i) { if(!result[arr[i]]) result[arr[i]]=0; ++result[arr[i]]; } for (var i in result){ console.log(i+":"+result[i]); }