Canvas / JS中的奇怪字符串行为

时间:2015-09-24 00:38:41

标签: javascript canvas

我正在尝试在Canvas中绘制站点节点之间的连接。如果我坚持使用相同的电台名称模式('A','B'等),没有问题: https://jsfiddle.net/3k4L2ky0/

但是如果我使用单字母字符串和多字母字符串(例如'A','B','C','Airport','Central'),Javascript似乎正在处理第一个字母。较长的字符串等同于较短的字符串:例如'机场'=='A': https://jsfiddle.net/w6n0p04w/

显然问题在于此处的功能:

function lookUp(sta) {
    for (n=0; n < station.length; n++){
    if (sta == station[n][0]) {
    return n;
    break;
     }
   }
}

我应该改变什么?不是'A'和'机场'都是不同的字符串?

1 个答案:

答案 0 :(得分:1)

问题不在于lookUp

问题是你将第一个字符传递给lookUp

var stat = lookUp(startStat[0]);

只需将其更改为以下内容即可按预期工作。

var stat = lookUp(startStat);

请参阅:https://jsfiddle.net/w6n0p04w/2/