合并两个JavaScript对象

时间:2010-08-05 14:54:46

标签: javascript jquery

我有一个很大的JavaScript对象文字我每次都会重复使用很少的修改。最好创建一个包含大部分对象的变量,然后在每次需要时引用它。

但我怎么能这样做?我试图这样做,但它不起作用:

var settings = {
 legend: {
  enabled:false
 },
 yAxis: {
  title: {
   text: 'Impact'
  }
 },
 tooltip: {
  formatter: function() {
   return 'Impact: '+ this.y +' points'
  }
 },
 credits: {
  enabled: false
 },
 exporting: {
  enabled: false
 }
};

jQuery(document).ready(function() {   
 new Highcharts.Chart({
  chart: {
   renderTo: 'chart',
   defaultSeriesType: 'column',
   width: 450
  },         
  title: {
   text: 'Comparison of Impact for Male age 23'
  },
  xAxis: {
   categories: [
    'Good brain', 
    'Good humor', 
    'Good will'
   ],
  },
  series: [{
   data: [5,2,8]
  }],
  settings // <-- HERE
 });
}); 

2 个答案:

答案 0 :(得分:5)

jQuerys .extend()方法就是你要找的。

例如

$.extend(true, settings, {
   yAxis: {
     title: {
       text: 'Impact NEW'
     }
   }
});

只会替换yAxis

中的settings object部分

参考:.extend()

答案 1 :(得分:2)

jQuery.extend(settings,new)这会合并对象full info,它会覆盖/合并新设置