动态创建关联数组

时间:2014-08-28 19:18:34

标签: javascript node.js associative-array

我正在寻找哈希,创建一系列深层密钥,然后在最后添加另一个哈希值。

...给出

var hash_a = {'foo': 'bar'}
var hash_b = {'alpha': 'beta'}
var array = ['a', 'b', 'c']

如何生成以下内容?

{
  'foo': 'bar',
  'a':{
    'b':{
      'c': {
        'alpha': 'beta'
       }
    }
  }
};

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

var hash_a = {'foo': 'bar'};
var hash_b = {'alha': 'beta'};
var array = ['a', 'b', 'c'];

function build(a,b,c){
    var o=c.reduceRight(function(o, n){ var b={}; b[n]=o; return b; }, b);
    for(x in a){ o[x]=a[x]; }
    return o;
}

以下是fiddle。 有关Array.prototype.reduceRight()的详细说明,请参阅MDN