objectをマージする - javascript

objectの連想配列をマージしたいとき、jQueryを使っていれば extend があるが、そうでないときのために、マージする関数を書いておく。

Code

function merge(){

  var
  args = Array.prototype.slice.call(arguments),
  len = args.length,
  ret = {},
  itm;
  
  for( var i = 0; i < len ; i++ ){
    var arg = args[i];
    for (itm in arg) {
      if (arg.hasOwnProperty(itm))
        ret[itm] = arg[itm];
    }
  }
  
  return ret;

}

私的にはこれで十分。

Usage

var
foo = {
  a:1,
  b:2
},
hoge = {
  a:'a',
  c:3
},
 fuga = {
  a:'A',
  c:'c'
}

var re = merge(foo, hoge, fuga);

for(var i in re)
  console.log(i +'='+ re[i]);

Results:
a=A
b=2
c=c

0 Comments:

Recent Posts