使用数组连接进行字符串连接

时间:2011-08-30 17:32:03

标签: javascript

尝试使用Array.join进行字符串连接,但以下情况导致FF阻塞:

var tmp = ["disco","dance"];
for (i = 0; i<tmp.length; i++) {
  tmp.push(piece);
  alert(tmp[i]);
}
str = tmp.join(''); 
return str;

有人会启发我的用法吗?

2 个答案:

答案 0 :(得分:3)

你有一个无限循环。每次迭代都会增加tmp的长度,因此i永远不会超过tmp.length。也许这就是你想要的:

var tmp = ["disco","dance"];
var len = tmp.length;
for (i = 0; i < len; i++) {
  tmp.push(piece);
  alert(tmp[i]);
}
str = tmp.join(''); 
return str;

修改或者如果piece没有任何意义,请完全跳过for循环:

var tmp = ["disco","dance"];
str = tmp.join(''); 
return str;

答案 1 :(得分:1)

我不确定你要对循环做什么。然而,这有效:

var tmp = ["disco","dance"];
var str = tmp.join(''); 
return str; // Returns "discodance"

...这只是没有循环的原始代码。我怀疑你遇到的麻烦与那个循环有关。