【发布时间】:2015-08-15 17:08:02
【问题描述】:
我正在尝试根据其他示例here on SO 从字符串数组中访问随机元素。我正在使用 Raphael.js 和下面的区域 [j] 返回一个 Raphael 对象数组 - 因此是 .data(id)。这似乎没问题,但 theCountyNames,如下面的评论中所述,将所有字符串作为一个长字符串返回。我猜这就是为什么 randCounty 返回一个随机字母的原因,但是当我尝试在循环中附加一个逗号 (+",") 并按照this question 使用拆分时,我仍然得到一个随机的单个字母。也许我执行不正确,或者这是另一个问题?谢谢。
function pickRandCounty(){
var theCountyNames = new Array();
for (var j = 0; j < regions.length; j++) {
theCountyNames = regions[j].data('id');
document.write(theCountyNames);//THIS GIVES ME THE COMPLETE LIST OF ITEMS IN THE ARRAY BUT ALL AS ONE STRING
//document.write("<hr>");
}
//var randCounty = theCountyNames[Math.floor(Math.random() * theCountyNames.length)];
//document.write(randCounty);//THIS JUST RETURNS ONE RANDOM LETTER??
}
【问题讨论】:
-
你好像是
varingtheCountyNames两次。您似乎在每次迭代中覆盖了theCountyNames的旧值,而不是追加。你也在使用document.write? :( -
刚刚注意到重复的声明并进行了编辑。 document.write 来自我在这里关注的一个教程youtube.com/watch?v=pqLS4oyJ8cA
-
最好使用
console.log等Console方法来调试(或测试),通常可以F12打开控制台,否则见webmasters.stackexchange.com/questions/8525/… -
好的,谢谢您的建议。
标签: javascript arrays string raphael