`
KeepCrazy
  • 浏览: 59228 次
社区版块
存档分类
最新评论

js字符串与字符数组之间的转换

阅读更多
[size=medium]
1、string to array
js里的string和java中的一样,都是不可变的常量。 早期的ECMAScript标准将string解析为不可变的字符数组, 支持str[index]这样的访问方式。 直到今天firefox仍然支持, 但IE不行。 我知道两种可以将字符串转换为数组的方法。
第一种很容易想到:使用charAt。
function toArray(str){
    if(typeof str !="string"){
        return [];
    }
    var arr=[];
    for(var i=0;i<str.length;i++){
        arr.push(str.charAt(i))
    } 
    return arr;
}

第二种方法极为简短, 但一眼望过去不是很容易理解。 可只要一理解, 肯定会惊叹于js的奇妙。
var arr=str.match(/./g); 

strObj.match(reg)方法对字符串对象进行检索,返回包含所有匹配结果的数组。而 正则表达式 /./g 匹配的是所有的字符, 所以str.match(/./g)返回的是由字符串str中所有的字符组成的数组,以此达到将字符串转换为数组的目的。

2、array to string
使用strObj.join()方法可以指定数组元素之间的连接符,默认为"," 如对于 var arr=['a','b','c']; arr.join()返回 "a,b,c ", arr.join("")返回"abc", arr.join("join")返回"ajoinbjoinc".

2013年5月17日14:06:00 附:写完这篇文章之后, 又看了下书, 发现str.split("")也可以将字符串转换为字符数组.

[/size]
0
6
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics