在javascript中呈现数组的所有元素时出错

在javascript中呈现数组的所有元素时出错,javascript,jquery,arrays,function,Javascript,Jquery,Arrays,Function,嗨,我有一个名为wincolor的数组,它是由一个包含243个元素的循环生成的。我还有另一个名为uniqueparty的数组,它将过滤器应用于wincolor中的所有元素。我面临的问题是,当呈现uniqueparty时,它只呈现wincolor中243个元素中的9个。它需要渲染所有243元素。有人能帮我解决这个错误吗 var resultData = []; var uniqueparty= []; var wincolor = []; $.getJSON("h

嗨,我有一个名为wincolor的数组,它是由一个包含243个元素的循环生成的。我还有另一个名为uniqueparty的数组,它将过滤器应用于wincolor中的所有元素。我面临的问题是,当呈现uniqueparty时,它只呈现wincolor中243个元素中的9个。它需要渲染所有243元素。有人能帮我解决这个错误吗

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
              ]; 
              wincolor[i]=[current.gsx$winningparty.$t];
            }
            uniqueparty = wincolor.filter(
              function(a){
                if (!this[a]) {
                  this[a] = 1; return a;
                }
              },{}
            );
            document.write("Unique Party: "+uniqueparty.length+"<br>");
            document.write("Wincolor: "+wincolor.length);
          });
var resultData=[];
var uniqueparty=[];
var wincolor=[];
$.getJSON(“https://spreadsheets.google.com/feeds/list/1IoNqeReOPKNFrYMlK2rnJVuMaLeAgnZneLbKYSQ7bs4/od6/public/values?alt=json,函数(数据){
var len=data.feed.entry.length;

对于(var i=0;iLee是正确的-您的筛选函数需要返回true或false,以指示您是否要保留或丢弃该元素。下面是一个只接受名称中带有字母“i”的动物的筛选的快速示例:

<script>
  var animals = ['cat', 'dog', 'mouse', 'fish', 'gorilla', 'elephant', 'chicken', 'rhino'];
  var filtered = animals.filter(
    function(element, index, array) {
      if (element.indexOf('i') !== -1) {
        return true;
      }
      return false;
    }
  );
  console.log(animals);
  console.log(filtered);
</script>

动物变量=[‘猫’、‘狗’、‘老鼠’、‘鱼’、‘大猩猩’、‘大象’、‘鸡’、‘犀牛’];
var filtered=animals.filter(
函数(元素、索引、数组){
if(element.indexOf('i')!=-1){
返回true;
}
返回false;
}
);
控制台.日志(动物);
console.log(过滤);
您可以在此处找到有关Array.filter方法的文档:

我将删除API键并向我们展示一个数据示例。您还可以更改
wincolor[I]=[current.gsx$winningparty.$t];
添加
if(wincolor.indexOf(current.gsx$winningparty.$t)=-1)uniqueparty[uniqueparty.length]=current.gsx$winningparty.$t;wincolor[I]=[current.gsx$winningparty.$t];
并删除过滤器您需要从过滤器函数返回true以保留元素,看起来您没有这样做?试试这个@Lee谢谢您的快速回复您介意指导我如何做吗我仍在学习编码,因此将感谢所有帮助