2016-08-22 2 views
0

원형 차트에서 사용하고자하는 총 세 가지 색상이 있습니다. 내 문제는 동일한 2 색이 연속으로 나타나지 않게하려는 것입니다. 문제가 표시되는 위치를 빨간색 텍스트이며, 여기에원형 차트의 색상 패턴

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

예를 들어 (모든 행이 여러 번 문자를 반복하는) 귀하의 질문에 맞는 말이 아닙니다 ("나는 같은 2 색이 연속적으로 나타나기를 원하지 않습니다"). 당신이 원하는 것을 표현하는 것은 어떻습니까? – Josh

답변

1

문제의 경우 마지막 부분을 제외하고 처음 두 색상 만 반복하면됩니다. 마지막 세그먼트의 경우 세 번째 색상을 사용하십시오. 다음과 같은 내용 :

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