JSFiddle - React, Tailwind, and code Playground

by JCapriotti

JavaScript

var array = [
    { keySegment1: 1, keySegment2: 1, Description: 'apple' },
    { keySegment1: 2, keySegment2: 1, Description: 'orange' },
    { keySegment1: 3, keySegment2: 3, Description: 'banana' }
];

var expected = {
    '1-1': { keySegment1: 1, keySegment2: 1, Description: 'apple' },
    '2-1': { keySegment1: 2, keySegment2: 1, Description: 'orange' },
    '3-3': { keySegment1: 3, keySegment2: 3, Description: 'banana' }    
};
    

function convertToAssociativeArray (array, keyFunc) {
    var ret = {};
    for (var x in array) {
        var key = keyFunc(array[x]);
        ret[key] = array[x];
    }
    return ret;
}
    
var result = convertToAssociativeArray(array, function (item) { 
    return item.keySegment1 + '-' + item.keySegment2; 
});

console.log(JSON.stringify(result));
console.log(result['1-1'].Description);