Convert object array to hash map, indexed by an attribute value of the Object

前端 未结 16 2482
忘掉有多难
忘掉有多难 2020-11-28 01:08

Use Case

The use case is to convert an array of objects into a hash map based on string or function provided to evaluate and use as the key in the hash map and val

16条回答
  •  無奈伤痛
    2020-11-28 01:36

    A small improvement on the reduce usage:

    var arr = [
        { key: 'foo', val: 'bar' },
        { key: 'hello', val: 'world' }
    ];
    
    var result = arr.reduce((map, obj) => ({
        ...map,
        [obj.key] = obj.val
    }), {});
    
    console.log(result);
    // { foo: 'bar', hello: 'world' }
    

提交回复
热议问题