我正在寻找一种方法来解析这种性质的字符串:
r-g-b g
或
g-g g g
或
b g-g
等
基本上,字母决定了要显示的色圈,-
决定圈子之间是否有链接。
我有点担心如何使用JS / jQuery / HTML开发一个有效的算法。有什么想法吗?
答案 0 :(得分:1)
我不确定你想要完成什么,但这是我最好的猜测:
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
}
答案 1 :(得分:0)
我能想到的最简单的答案是一次读取一个字符串,并按指示操作。复杂的是(我假设)你需要绘制下一个圆圈才能在它们之间绘制链接:
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;
}
}