2016-08-22 141 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]); 

這是否對您有幫助?