在jQuery中从数组动态创建参数

时间:2016-07-26 18:44:38

标签: javascript jquery

我在我的网站上使用此plugin,效果很好。您可以为状态特定样式传递参数,如下所示:

$('#map').usmap({

    showLabels: false,
    stateStyles: {
        fill : '#ffffff',
        stroke : '#4f4f4f',
        'stroke-width' : 4,
    },

    stateHoverStyles: {
        fill : '#ffffff'
    },

    stateSpecificStyles: {
        'IN': {
            fill : '#84b8e7'
        },

        'CA': {
            fill : '#84b8e7'    
        },

        'TX': {
            fill : '#84b8e7'    
        }
    },

    stateSpecificHoverStyles: {

        'IN': {
            fill : '#0972ce'    
        },

        'CA': {
            fill : '#0972ce'    
        },

        TX': {
            fill : '#0972ce'    
        }
    }
});

我想从一个看起来像[“CA”,“IN”,“TX”]的数组中动态填充这些状态样式。这可能吗?

1 个答案:

答案 0 :(得分:1)

如果您只是想找到一种方法来创建一个看起来像这样的对象,那么这个代码片段将为您完成。让我们更多地了解您的需求,我可以扩展它。



var arr = ['CA', 'IN', 'TX'], // Your state vars
    output = [];

arr.forEach(function(el) {
  output[el] = {
    fill: '#000000' // Could come from the same array, if needed
  };
)};
            
console.log(output);