js 字符串和数组注意点

var a="foo";

var b=[ "f","o","o"];

a[1]="o";

b[1]="o";

javascript中字符串是不可变的,而数组是可变的,并且a[1]在javascript中并非总是合法语句,在老版本的IE中就不被允许(现在可以了).

正确的方法应该是a.charAt(1).

 

字符串调用数组的方法:

var c=Array.prototype.join.call(a,'-');

var d=Array.prototype.map.call(a,fucntion(){

  return v.toUpperCase()+".";

}).join("");

c;// "f-o-o"

d;//"F.O.O"

 

字符串反转(数组中有反转函数reverse()而字符串中没有)

 

方法:

var c=a.split("").reverse().join("");

c;//'oof'

注意:上述方法对于包括复杂字符(Unicode,如星号,多字节字符等)字符串并不适用

如果需要经常以字符数组的方式处理字符串的话,倒不如直接使用数组,这样就不用来回折腾,可以在需要时使用join("")将字符数组转换为字符串。

posted @ 2017-04-07 14:13  善未易明  阅读(173)  评论(0编辑  收藏  举报