用例
用例是根据提供的字符串或函数将对象数组转换为哈希映射,以评估和用作哈希映射中的键和值作为对象本身。使用它的一个常见情况是将对象数组转换为对象的哈希映射。
代码
以下是 JavaScript 中的一个小片段,用于将对象数组转换为哈希映射,由 object 的属性值索引。您可以提供一个函数来动态评估哈希映射的键(运行时)。
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。