Convert JavaScript array of 2 element arrays into object key value pairs

后端 未结 5 892
陌清茗
陌清茗 2020-11-29 10:58

What is the fastest algorithm for getting from something like this:

var array = [ [1,\'a\'], [2,\'b\'], [3,\'c\'] ];

to something like this

5条回答
  •  盖世英雄少女心
    2020-11-29 11:33

    Terse version using modern syntax:

    let objectify = a => a.reduce( (o,[k,v]) => (o[k]=v,o), {} );
    

    I use this technique as part of a terse query string parser:

    // Converts "?foo=bar&j=1&go" into { foo:'bar', j:'1', go:true }
    function parseQueryString(qs) {
        var q = decodeURIComponent;
        return qs.replace(/^\?/,'').split('&').map(s => s.split('='))
                 .reduce((o,[k,v]) => (o[q(k)] = v?q(v):true, o), {});
    }
    

提交回复
热议问题