Javascript 如何将多个数组元素与';对于';在JQuery中

Javascript 如何将多个数组元素与';对于';在JQuery中,javascript,jquery,html,json,leaflet,Javascript,Jquery,Html,Json,Leaflet,我试图将数组中的多个值传递到for语句中,它目前只处理最后一个值。其结果是,它给巴西而不是巴西和美利坚合众国涂上了颜色。如何在不多次运行函数的情况下将多个值传递到函数中? 这是一把小提琴: 以下是JS: var colourCountries = ["United States of America","Brazil"]; var mapboxTiles = L.tileLayer('https://{s}.tiles.mapbox.com/v3/alexplummer.him2149i/{z}

我试图将数组中的多个值传递到for语句中,它目前只处理最后一个值。其结果是,它给巴西而不是巴西和美利坚合众国涂上了颜色。如何在不多次运行函数的情况下将多个值传递到函数中? 这是一把小提琴:

以下是JS:

var colourCountries = ["United States of America","Brazil"];
var mapboxTiles = L.tileLayer('https://{s}.tiles.mapbox.com/v3/alexplummer.him2149i/{z}/{x}/{y}.png');
var map = L.map('map')
.addLayer(mapboxTiles)
.setView([30, 0], 3);
function style(feature) {
for (var i=1; i<= colourCountries.length; i++) {
 if (colourCountries[i] == feature.properties.name) {
   return {
   weight: 2,
   opacity: 1,
   color: 'white',
   dashArray: '3',
   fillOpacity: 0.3,
   fillColor: '#ff0000'
 };
 } 
     else {
   return {
   weight: 1,
   opacity: 1,
   color: '#32B3EF',
   fillOpacity: 1,
   fillColor: '#F3F4E8'
 };
 }
}
}       
var geojson, thisCountry;
function onEachFeature(feature, layer) {}
geojson = L.geoJson(countryData, {
    onEachFeature: onEachFeature,
    style: style
}).addTo(map);
var colourCountries=[“美利坚合众国”、“巴西”];
var mapboxTiles=L.tileLayer('https://{s}.tiles.mapbox.com/v3/alexplummer.him2149i/{z}/{x}/{y}.png');
var map=L.map('map'))
.addLayer(mapboxTiles)
.setView([30,0],3);
功能样式(特征){

对于(var i=1;i有2个错误。数组索引从0开始,而不是从1开始。按照编写的方式,循环将始终在第一圈返回。这是有效的:

function style(feature) {
  for (var i=0; i < colourCountries.length; i++) {
    if (colourCountries[i] == feature.properties.name) {
      return {
        weight: 2,
        opacity: 1,
        color: 'white',
        dashArray: '3',
        fillOpacity: 0.3,
        fillColor: '#ff0000'
      };
    }
  }

  return {
    weight: 1,
    opacity: 1,
    color: '#32B3EF',
    fillOpacity: 1,
    fillColor: '#F3F4E8'
  };
}       

工作非常完美,感谢您强调错误!
function style(feature) {
  var style1 = {
    weight: 2,
    opacity: 1,
    color: 'white',
    dashArray: '3',
    fillOpacity: 0.3,
    fillColor: '#ff0000'
  };
  var style2 = {
    weight: 1,
    opacity: 1,
    color: '#32B3EF',
    fillOpacity: 1,
    fillColor: '#F3F4E8'
  };

  if ( colourCountries.indexOf(feature.properties.name) !== -1) {
    return style1;
  } 
  return style2;
}