1
我正在尋找一種方法來解析這種性質的字符串:解析字符串特定的格式
r-g-b g
或
g-g g g
或
b g-g
等。
基本上,這個字母決定什麼顏色circ le來顯示,並且-
確定圓圈之間是否有鏈接。
我是如何開發一個有效的算法來使用JS/jQuery/HTML來做到這一點。有任何想法嗎?
我正在尋找一種方法來解析這種性質的字符串:解析字符串特定的格式
r-g-b g
或
g-g g g
或
b g-g
等。
基本上,這個字母決定什麼顏色circ le來顯示,並且-
確定圓圈之間是否有鏈接。
我是如何開發一個有效的算法來使用JS/jQuery/HTML來做到這一點。有任何想法嗎?
我不知道你正在試圖完成的任務,但這裏是我最好的猜測:
var s = "r-g-b g";
var color = { 'r' : 'red', 'g' : 'green', 'b' : 'blue' };
s = s.split(''); //turn it into an array;
for (i=0; i < s.length; i++) {
if (s[i]=='-') drawLink();
else drawCircle(color[s[i]]);
}
function drawCirlce(color) {
//your code for this
}
function drawLink() {
//your code for this
}
我能想到的最簡單的答案是隻讀字符串一個字符的時間和做的指示。併發症是(我認爲),你需要有畫下一個圈能夠吸引他們之間的聯繫之前:
var s = 'b-g r r b';
link = '';
for (var i = 0; i < s.length; i++) {
// `s.charAt(i)` gets the character
// you may want to do a some jQuery thing here if you have that
switch(s.charAt(i)) {
case 'b':
prev = drawCircle('b');
if(link!='') {
drawLink(link,prev);
link = '';
}
break;
case 'r':
prev = drawCircle('r');
if(link!='') {
drawLink(link,prev);
link = '';
}
break;
case '-':
link = prev;
break;
}
}
要與解析值 – 2013-05-01 07:27:50
一個簡單的方法是用做什麼嗎[ .split()](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split)like''gg g g'.split('')'將給出一個數組例如可以處理的[[「g」,「 - 」,「g」,「」,「g」,「」,「g」]] – 2013-05-01 07:29:13