2016-08-22 106 views
0

我在饼图中总共使用了三种颜色。我的问题是我不希望连续出现相同的两种颜色。
这里是我的简化代码:饼图的颜色模式

var colors = ["R", "G", "B"]; 

for(var i = 2; i < 30; i++) { 
    if(i % 2 == 0) { 
     for(var x = 0; x < i; x++) document.write(colors[x % 2]); 
    }else if(i % 3 == 0) { 
     for(var x = 0; x < i; x++) document.write(colors[x % 3]); 
    }else { 
     if(i % 3 == 1) { 
      for(var x = 0; x < i; x++) document.write("<span style='color:red'>" + colors[x % 3] + "</span>"); 
     }else { 
      for(var x = 0; x < i; x++) document.write(colors[x % 3]); 
     } 
    } 
    document.write("<br>"); 
} 

下面是使用相同的代码JS Fiddle,红色的文字是问题出现的地方。该行以R开始并以R结束,使它们在我的饼图中连续出现两次。

我该怎么做才能避免同一颜色连续出现两次?

+0

考虑到你的例子(每行重复多次字母),你的问题没有多大意义(“我不想让相同的两种颜色出现在一行中”)。如何表达你想要的? – Josh

回答

1

对于问题的情况,只需重复前两个颜色,除了最后一个段。对于最后一段,请使用第三种颜色。类似这样的:

for(var x = 0; x < i-1; x++) document.write(colors[x % 2]); 
document.write(colors[2]); 

这是否对您有帮助?