Use CaseConvertire matrice oggetto hash mappa, indicizzata da un valore di attributo di oggetto
Il caso d'uso è di convertire un array di oggetti in una mappa hash basato sulla stringa o funzione fornita per valutare e uso come chiave in hashmap e valore come oggetto stesso. Caso comune di utilizzo di questo è la conversione di una matrice di oggetti in una mappa hash di oggetti.
codice
seguito è piccolo frammento in javascript per convertire matrice di oggetti a hash mappa, indicizzato dal valore dell'attributo dell'oggetto. È possibile fornire una funzione per valutare la chiave della mappa hash in modo dinamico (tempo di esecuzione). Spero che questo aiuti qualcuno in futuro.
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 hasmap
* @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;
};
Potete trovare il senso qui: https://gist.github.com/naveen-ithappu/c7cd5026f6002131c1fa
È necessario includere qualsiasi codice pertinente nella domanda stessa. – jmar777
Qual è la domanda qui? –