如何附加(连接)字符串来构造一个新字符串?

时间:2011-04-15 14:13:14

标签: javascript

我有一个字符串数组:

str[1]='apple';
str[2]='orange';
str[3]='banana';
//...many of these items

然后,我想构建一个字符串变量,看起来像 var mystr ='apple,orange,banana,...',我尝试了以下方法:

var mystr='';
for(var i=0; i<str.length; i++){
  mystr=mystr+","+str[i];
}

这当然不是我想要的,是否有任何有效的方法将所有这些str [i]与逗号连接?

7 个答案:

答案 0 :(得分:6)

只需使用内置的连接功能。

str.join(',');

答案 1 :(得分:4)

查看join function

var str = [];
str[0]='apple';
str[1]='orange';
str[2]='banana';

console.log(str.join(','));

会输出:

apple,orange,banana

答案 2 :(得分:3)

最快和推荐的方法是使用数组方法:

var str = [];

str[1] = 'apple';
str[2] = 'orange';
str[3] = 'banana';

var myNewString = str.join(',');

已经有各种性能测试表明,对于构建字符串,使用数组连接方法比使用普通字符串连接更有效。

答案 3 :(得分:2)

你需要这个

var mystr = str.join(',');

答案 4 :(得分:2)

'join()'怎么样? e.g。

var newstr = str.join();

答案 5 :(得分:0)

你正在寻找我相信的array.join

alert(['apple','orange','pear'].join(','));

答案 6 :(得分:-1)

这是你想要的吗?

var str = new Array(); //changed from new Array to make Eli happier
str[1]='apple';
str[2]='orange';
str[3]='banana';

var mystr=str[1];
for(var i=2; i<str.length; i++){
  mystr=mystr+","+str[i];
}
console.log(mystr);

会产生

apple,orange,banana