दिलचस्प पोस्ट
SQLServer फ़ंक्शन SCOPE_IDENTITY () के mySQL में बराबर है? 'प्रिन्ट प्रिंट' विंडो% PATH% variable – ';' पर कैसे विभाजित है सीएमडी खोल में क्यों नहीं java.lang.Number लागू तुलनात्मक? एकाधिक HTML पृष्ठों के बीच एक चर साझा करना निश्चित मूल्यों के साथ JPA में नक्शा enum? कैसे एमवीसी को IValidatableObject मान्य करने के लिए मजबूर किया जाए वेबव्यू संसाधन अनुरोधों में कस्टम शीर्षलेख जोड़ें – एंड्रॉइड $ (दस्तावेज़) .अन्य jQuery के बिना बराबर इंडेक्सिंग वैक्टर और + के साथ सरणियों: दो खींचने योग्य डिवाओं के बीच एक रेखा खींचें एक निर्देशिका के अंदर फाइलें प्राप्त करें jQuery तालिका सॉर्ट एडीबी एंड्रॉइड डिवाइस अनधिकृत मैं लाइब्रेरी के रूप में pdfminer का उपयोग कैसे करूं? MySQL से डेटा पुनर्प्राप्त करने के लिए Jquery Ajax का उपयोग करना

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

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

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(',')); 

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

इस कार्य के लिए 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]); }