उदाहरण
उपयोग का मामला वस्तुओं के एक सरणी को हैश मानचित्र में कुंजी के रूप में मूल्यांकन करने और उपयोग करने के लिए प्रदान की गई स्ट्रिंग या फ़ंक्शन के आधार पर एक हैश मानचित्र में एक वस्तु में परिवर्तित करने के लिए है। इसका उपयोग करने का एक सामान्य मामला वस्तुओं की एक सरणी को वस्तुओं के हैश मानचित्र में परिवर्तित कर रहा है।
कोड
ऑब्जेक्ट की विशेषता मान द्वारा अनुक्रमित हैश मैप में ऑब्जेक्ट्स की एक सरणी में परिवर्तित करने के लिए जावास्क्रिप्ट में एक छोटा सा स्निपेट है। आप गतिशील रूप से (रन समय) हैश मानचित्र की कुंजी का मूल्यांकन करने के लिए एक फ़ंक्शन प्रदान कर सकते हैं। आशा है कि यह भविष्य में किसी की मदद करेगा।
function isFunction(func) {
return Object.prototype.toString.call(func) === '[object Function]';
}
/**
* This function converts an array to hash map
* @param {String | function} key describes the key to be evaluated in each object to use as key for hashmap
* @returns Object
* @Example
* [{id:123, name:'naveen'}, {id:345, name:"kumar"}].toHashMap("id")
* Returns :- Object {123: Object, 345: Object}
*
* [{id:123, name:'naveen'}, {id:345, name:"kumar"}].toHashMap(function(obj){return obj.id+1})
* Returns :- Object {124: Object, 346: Object}
*/
Array.prototype.toHashMap = function(key) {
var _hashMap = {}, getKey = isFunction(key)?key: function(_obj){return _obj[key];};
this.forEach(function (obj){
_hashMap[getKey(obj)] = obj;
});
return _hashMap;
};
आप यहाँ गिस पा सकते हैं: हैशपॉइंट के लिए ऑब्जेक्ट्स का एवरेट ।