2011-04-15 71 views
4

我有一个字符串数组一个:如何附加(连接)字符串来构造一个新的字符串?

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

然后,我想创建一个字符串变量,它看起来像VAR myStr的=“苹果,橘子,香蕉,......”,我尝试以下方法:

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

这当然不是我想要的,是有连接这一切的STR [1]用逗号任何有效的方法?

回答

6

只使用内置连接功能。

str.join(','); 
4

退房join function

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

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

将输出:

apple,orange,banana 
3

最快,建议您这样做的方法是使用数组方法:

var str = []; 

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

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

已经有各种系列性能测试显示,对于构建字符串,使用数组联接方法比使用常规字符串联接要高效得多。

2

你需要这个

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

您正在寻找array.join我相信。

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

'join()'怎么样? 例如

var newstr = str.join(); 
-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 
+0

我甚至不知道说这个是什么。 – Eli 2011-04-15 14:20:43

+1

'var str = new Array;'< - 这个语句有什么问题? – Eli 2011-04-15 14:25:32

+0

@Eli只是因为它不使用内置的join()方法并不会使其错误(即使它不完全正确,新数组仍然有效),但它可能不会那么高效。有些时候,我不能使用join()方法,因为我需要做更多的逻辑,然后粘合在一起,在这种情况下,我的解决方案将是一个很好的方法,因此人们可以在没有加入() – sbditto85 2011-04-15 15:00:24