如何正确分割字符串数组这是另一个问题
How do I correctly split an array of strings of is it another issue?
我正试图从字符串数组中访问一个随机元素,就像这里的其他例子一样。我正在使用拉斐尔.js和区域[j]下面返回拉斐尔对象的数组-因此。data(id)。这似乎没有问题,但是在下面的评论中概述的theCountyNames将所有字符串作为一个长字符串返回。我猜这就是为什么randCounty返回一个随机字母,但是当我尝试在循环中添加逗号(+",")并根据这个问题使用split时,我仍然得到一个随机的单个字母。也许我执行这个错误,或者这是另一个问题?谢谢。
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??
}
使用Array.prototype.push
向数组添加新项。
function pickRandCounty(){
var theCountyNames = [],
j;
for (j = 0; j < regions.length; ++j) {
theCountyNames.push(regions[j].data('id'));
}
j = Math.floor(Math.random() * regions.length);
return theCountyNames[j];
}
然而,这并没有被优化,因为你可以预先设置数组的长度,你甚至可以完全跳过循环,
function pickRandCounty(){
var j = Math.floor(Math.random() * regions.length);
return regions[j].data('id');
}
错误似乎就在这一行。
theCountyNames = regions[j].data('id'); //wrong
theCountyNames.push(regions[j].data('id')); //right
第二个错误
document.write(theCountyNames); //it will keep on appending the string in the DOM
document.write("<br>" + theCountyNames);//right
相关文章:
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 从JS到PHP;另一个CORS问题(似乎是)
- 调用另一个php脚本生成图表时出现问题
- Dreaded 100%边栏高度-jQuery修复,但另一个问题出现了
- 我有两个问题!一个是打印,另一个是缩放
- 如果我将一个元素从一个容器移动到另一个容器,是否存在范围问题
- 将数据从一个 html 传递到另一个 html 时出现问题
- 添加另一个 JavaScript 时出现 JavaScript 问题
- 另一个 JSP(也使用 jQuery)中的 JSP(使用 jQuery)出现问题
- 另一个未定义的JavaScript问题
- 从一个.js文件中调用另一个.js文件中的函数时出现命名空间问题
- 另一个图像预加载问题
- 另一个 IE8 映像加载问题
- 单击另一个时,如何折叠打开的常见问题解答
- 在另一个模型中引用/填充猫鼬模型时出现问题
- 将一个JavaScript对象添加到另一个对象的末尾时出现问题
- 在ASP.Net MVC应用程序中调用另一个JS文件中的函数时出现问题
- 是的,另一个clearInterval问题
- 如何正确分割字符串数组这是另一个问题
- 当我修复另一个问题时,我的CSS坏了,我如何修复我的标题