Standing on Shoulders of Giants;
字符串
字符串与字符数组:
字符串:var a = ‘ddd’;
字符数组:var arr = ‘f’,‘o’,'o’
相同点:
1、都是类数组
2、都有length属性
3、都有indexOf()和concat()方法
concat()方法不改变原字符串或者数组的值
不同点:
1、字符串是不可变的,而数组是可变的。(字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。)
var a = 'foo';
var c = a.toUpperCase();
a === c;//false
2、数组有一个字符串没有的可变更函数:反转函数reverse();
字符串与数组互转
将数组转为字符串:
Array.Prototype.join.call(数组对象,‘以什么分隔’)
数组对象.join("")
var a = ['f','o','o'];
Array.Prototype.join.call(a,'');//返回值:'foo'
a.join('');//'foo'
字符串转为数组:
String.prototype.split.call(str,’’);
str.split(’’)
var str = 'foo';
String.prototype.split.call(str,'');//['f','o','o']
str.split('');//['f','o','o']
字符串反转 :
先将字符串转为字符数组,数组反转再转回字符串
var c = str.split('').reverse().join('');//'oof'