使用事例
ユースケースは、評価してハッシュマップのキーとして使用し、オブジェクト自体として値を提供するために提供される文字列または関数に基づいて、オブジェクトの配列をハッシュマップに変換することです。これを使用する一般的なケースは、オブジェクトの配列をオブジェクトのハッシュマップに変換することです。
コード
以下は、オブジェクトの属性値によってインデックスが付けられたオブジェクトの配列をハッシュマップに変換するJavaScriptの小さなスニペットです。ハッシュマップのキーを動的に(実行時に)評価する関数を提供できます。これが将来誰かを助けることを願っています。
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;
};
あなたはここで要点を見つけることができます:オブジェクトの配列をHashMapに変換します。