javascript - Convert object array to hash map, indexed by an attribute value of the Object -
केस का उपयोग करें उपयोग के मामले ऑब्जेक्ट की एक सरणी मूल्यांकन करने के लिए प्रदान किए गए स्ट्रिंग या फ़ंक्शन के आधार पर एक हैश मैप में और हैम्सप में मान के रूप में उपयोग करें और ऑब्जेक्ट के रूप में मान। इसका उपयोग करने का सामान्य मामला ऑब्जेक्ट के एक हेश नक्शा में वस्तुओं की एक सरणी को परिवर्तित कर रहा है। कोड नीचे सरणी बदलने के लिए जावास्क्रिप्ट में छोटा स्निपेट है ऑब्जेक्ट का ऑब्जेक्ट ऑब्जेक्ट, ऑब्जेक्ट की विशेषता मान से अनुक्रमित हैश मैप आप गतिशील रूप से हैश मैने की कुंजी का मूल्यांकन करने के लिए फ़ंक्शन प्रदान कर सकते हैं (रन टाइम)। आशा है कि इससे भविष्य में किसी भी मदद मिलती है। आप यहां यज्ञ पा सकते हैं: यह काफी है के साथ करने के लिए तुच्छ: नोट:
फ़ंक्शन isFunction (func) {return Object.prototype.toString.call (func) === '[ऑब्जेक्ट फ़ंक्शन]'; } / ** * यह समारोह हैश मैप के लिए एक सरणी को धर्मान्तरित करता है * @परम {स्ट्रिंग | फ़ंक्शन} कुंजी हैमाप * @ परत के ऑब्जेक्ट * @Example * [{आईडी: 123, नाम: 'नवेन'}, {आईडी: 345, नाम: "कुमर"} के लिए कुंजी के रूप में उपयोग करने के लिए हर ऑब्जेक्ट में मूल्यांकन करने वाली कुंजी का वर्णन करता है ]। ("आईडी") रिटर्न: - ऑब्जेक्ट {123: ऑब्जेक्ट, 345: ऑब्जेक्ट} [{id: 123, नाम: 'नेवीन'}, {id: 345, नाम: "कुमर"}]। toHashMap (फ़ंक्शन (obj) {obj.id + 1} रिटर्न: वस्तु {124: ऑब्जेक्ट, 346: ऑब्जेक्ट} * / अर्रे.प्रोटीटिप। टूहाशमैप = फ़ंक्शन (कुंजी) {var _hashMap = {}, getKey = isFunction (कुंजी) कुंजी: फ़ंक्शन (_obj) {वापसी _obj [key];}; this.for प्रत्येक (समारोह (obj) {_hashMap [getKey (obj)] = obj;}); वापसी _होशमैप; };
var arr = [{key: 'foo', val: 'bar'}, {key: 'hello', val: 'world'}]; var परिणाम = arr.reduce (फ़ंक्शन (मैप, ओबीजे) {नक्शा [obj.key] = obj.val; वापसी वाला नक्शा;}, {}); console.log (परिणाम); // {foo: 'bar', हैलो: 'विश्व'}
Array.prototype.reduce () है IE9 +, इसलिए यदि आपको पुराने ब्राउज़र्स का समर्थन करने की ज़रूरत है तो आपको इसे पॉलीफ़िल करना होगा।
Comments
Post a Comment