मुझे लगता है कि निम्नलिखित है:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
सभी अलग-अलग युगों की एक सरणी प्राप्त करने में सक्षम होने का सबसे अच्छा तरीका क्या है कि मुझे इसका परिणाम सरणी मिलें:
[17, 35]
क्या कोई तरीका है जो मैं वैकल्पिक रूप से डेटा या बेहतर तरीके से संरचना कर सकता हूं, जैसे कि मुझे "आयु" के मूल्य की जांच करने वाले प्रत्येक सरणी के माध्यम से पुनरावृति नहीं करनी होगी और इसके अस्तित्व के लिए किसी अन्य सरणी के खिलाफ जांच करनी चाहिए, और यदि नहीं, तो इसे जोड़ें?
अगर वहाँ कुछ तरीका मैं बस पुनरावृत्ति के बिना अलग उम्र खींच सकता था ...
वर्तमान अक्षम तरीके से मैं सुधार करना चाहूंगा ... अगर इसका मतलब है कि "सरणी" के बजाय वस्तुओं की एक सरणी है, लेकिन कुछ अद्वितीय कुंजी (यानी "1,2,3") के साथ वस्तुओं का एक "नक्शा" जो होगा ठीक भी है। Im सिर्फ सबसे अधिक कुशल तरीके की तलाश कर रहा हूं।
निम्नलिखित यह है कि मैं वर्तमान में इसे कैसे करता हूं, लेकिन मेरे लिए, यह कार्यकुशलता के लिए सिर्फ भयावह प्रतीत होता है, भले ही यह काम करता हो ...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)
Set
ऑब्जेक्ट और map
एस बेकार हैं। यह काम सिर्फ एक सरल .reduce()
चरण है।