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

Dynamically create parameter from array in jQuery

本文关键字:动态 创建 参数 数组 jQuery      更新时间:2023-09-26

我在我的网站上使用这个插件,效果很好。您可以为特定于状态的样式传递一个参数,它看起来像这样:

$('#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"]的数组中动态填充这些状态样式。这可能吗?

如果您只是在寻找一种创建类似对象的方法,那么这个片段将为您完成。让我们更多地了解您的需求,我可以对此进行扩展。

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);