जावास्क्रिप्ट में, मैं संख्या मानों का एक प्रारंभिक सरणी लेने और इसके अंदर तत्वों को गिनने की कोशिश कर रहा हूं। आदर्श रूप से, परिणाम दो नए सरणियों में होगा, पहला प्रत्येक अद्वितीय तत्व को निर्दिष्ट करता है, और दूसरा जिसमें प्रत्येक तत्व होता है। हालाँकि, मैं आउटपुट के प्रारूप पर सुझावों के लिए खुला हूँ।
उदाहरण के लिए, यदि प्रारंभिक सरणी थी:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
फिर दो नए ऐरे बनाए जाएंगे। पहले में प्रत्येक अद्वितीय तत्व का नाम होगा:
5, 2, 9, 4
दूसरे में उस समय की संख्या सम्मिलित होगी, जो प्रारंभिक सरणी में होता है:
3, 5, 1, 1
क्योंकि प्रारंभिक सरणी में संख्या 5 तीन बार होती है, संख्या 2 पांच बार होती है और 9 और 4 दोनों एक बार दिखाई देते हैं।
मैंने एक समाधान के लिए बहुत खोज की है, लेकिन काम करने के लिए कुछ भी नहीं लगता है, और मैंने जो कुछ भी खुद की कोशिश की है वह हास्यास्पद रूप से जटिल है। किसी भी सहायता की सराहना की जाएगी!
धन्यवाद :)
ramda.js
आसान तरीके से प्राप्त करने के लिए उपयोग कर सकते हैं । const ary = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; R.countBy(r=> r)(ary)
arr.filter(x => x===5).length
यह 3
इंगित करने के लिए लौटेंगे कि सरणी में '3' फ़ाइव हैं।
if (arr.indexOf(value) == arr.lastIndexOf(value))