使用Javascript和Javascript将颜色应用于基于ID的SVG路径的循环中出错
下面是我用于将颜色加载到svg地图的代码,该地图基于从带有数组的电子表格中获取的获胜方。我目前面临的问题是,循环中有一个错误,它只识别了前九条路径并应用了颜色,剩下的就剩下了。有人能帮我确定并解决这些问题吗。我仍在从我的错误中吸取教训,我将不胜感激使用Javascript和Javascript将颜色应用于基于ID的SVG路径的循环中出错,javascript,arrays,for-loop,svg,Javascript,Arrays,For Loop,Svg,下面是我用于将颜色加载到svg地图的代码,该地图基于从带有数组的电子表格中获取的获胜方。我目前面临的问题是,循环中有一个错误,它只识别了前九条路径并应用了颜色,剩下的就剩下了。有人能帮我确定并解决这些问题吗。我仍在从我的错误中吸取教训,我将不胜感激 <![CDATA[ var resultData = []; var uniqueparty= []; var wincolor = []; $.getJSON("https://spreadsheets.google.com/f
<![CDATA[
var resultData = [];
var uniqueparty= [];
var wincolor = [];
$.getJSON("https://spreadsheets.google.com/feeds/list/1IoNqeReOPKNFrYMlK2rnJVuMaLeAgnZneLbKYSQ7bs4/od6/public/values?alt=json", function(data) {
var len = data.feed.entry.length;
for (var i=0; i<len; i++) {
//first row "title" column
var current = data.feed.entry[i];
resultData[i]= [
current.gsx$constituency.$t, //0
current.gsx$winner2010.$t, //1
current.gsx$winningparty.$t, //2
current.gsx$candidatename1.$t, //3
current.gsx$party1.$t,//4
current.gsx$candidatename2.$t,//5
current.gsx$party2.$t,//6
current.gsx$candidatename3.$t,//7
current.gsx$party3.$t//8
];
//Moving Winning party names alone to an array
wincolor[i]=[current.gsx$winningparty.$t];
}
//Remove duplicates from the winning party array to another array
uniqueparty = wincolor.filter(function (el) {
if (this[el]) {
this[el] = 1;
return el;
}
return true;
}, {});
//uniqueparty.sort();
//Specify colors for the party
var colors = ["#FE9A2E", "#F2F5A9", "#81F781", "#F2F5A9", "#58ACFA", "#F3F781", "#F5A9F2", "#81F7F3", "#F5A9A9"];
//assign color using loop based on element ID
for(i=0; i<wincolor.length; i++){
for(j=0; j<uniqueparty.length; j++){
if(uniqueparty[j]==resultData[i][2]){
var paths = document.getElementById(resultData[i][0]);
paths.style.fill=colors[j];
break;
}
}
}
});
]]>
我已经包括了从中检索数据的电子表格以及svg地图