对于像我这种记忆力不是很好的人,这样的整理还是很有必要的,虽然是很常用的方法,有时候也会因为强迫症要验证一次,在这里总结一下,方便以后查看。
字符串
在Javascript中字符串是固定不变的,也就是说,当使用某种方法处理字符串的时候,类似于replace()等,会返回一个新的字符串,也就是说字符串是不能被修改的。
可以使用“+”号将两个字符串进行连接:
msg = "hello,"+"word"; //生成字符串hello,word
字符串具有length属性,可以使用charAt()方法配合length属性返回字符串某个位置上的元素:
var s = "hello,word";
s.charAt(0) //返回 h
s.charAt(s.length-1) // 返回 d
当需要根据索引截取一个字符串的时候,可以使用substring()方法或者slice()方法:
s.substring(1,4) //返回索引位置为1、2、3的字符组成的字符串‘ell’;
s.slice(1,4) //同上返回‘ell’
s.slice(0) //返回整个字符串‘hello word’
s.slice(-3) //从末尾开始返回后三个字符‘ord’
s.clice(0,-3) //返回‘ellow,w’
//负值的索引,可以理解为从最后的位置开始算起,但是并不存在‘-0’
当需要查找摸个字符在字符串中的位置的时候,可以使用indexOf()方法,返回该字符的索引位置:
s.indexOf("o"); //返回“4”,字符“o”首次出现位置的索引;
s.lastIndexOf("o") //这是最后一次出现“o”的位置,返回7;
s.indexOf("1",3); //这是返回在位置3以及3以后首次出现“o”的索引,返回4;
可以使用split()方法将字符串分割成数组:
s.split(",") //根据“,”这一标识符,将字符串分割成一个数组,返回的数组为['hello','word'],值得注意的是这里面已经不包含“,”这个字符了。
同样,我们还可以使用replace()方法替换字符串中的某个字符:
s.replace("h","H"); //返回“Hello,word”,但是如果直接用“h”,作为标示,这个方法只会替换一次,也就是说如果字符串中有许多的“h”,也只会替换一次。想要全部替换可以选择使用正则表达式;
s.replace(/\l/g,"L"); //这样就可以换掉所有的“l”;
s.toUpperCase(); //返回“HELLO,WORD”;
数组
可以使用push()方法,向一个数组的末尾添加元素:
var arr = ['heool','word'];
arr.push('!'); //arr=['heool','word','!'];
对于数组的遍历,有两种方法,一种是根据数组的length属性,利用for循环进行遍历;另一种可以使用for/in循环,
for(var index in array){
var value = array[index];
}
数组也可以转换成字符串,使用join()方法,可以将数组转换成字符串:
var arr = ['1','2','3'];
arr.join(","); //返回“1,2,3”;
sort()方法可以对数组进行排序,当不传入参数时,数组元素以字母表顺序排序:
var arr = ['banana','cherry','apple'];
arr.sort();
var str = a.join(","); //str的值是“apple,banana,cherry”;
//如果数组中包含undefined,sort方法会把它放在数组的尾部。
//sort方法把数组中的每个对象转换成字符串,然后进行比较,那么 11 会被放在 2 的前面。所以我们需要传递一个函数给sort用来比较纯数字的大小,这个函数有两个参数,排序的规则是根据这个函数的返回值,返回值大于零,第一个参数在后,返回值小于零,第一个参数在前,返回值等于零,顺序无所谓。
a.sort(function(a,b){return a-b;});
连接两个数组可以使用concat(),这个方法返回一个连接好的新数组:
var a = [1,2,3];
a.concat(4,5); //返回[1,2,3,4,5];
a.concat([4,5]); //返回[1,2,3,4,5];
数组也有slice()方法,slice()方法不会修改原来的数组,而是返回一个新的数组:
var a = [1,2,3,4,5];
a.slice(0,3); //返回[1,2,3];
a.slice(3); //返回[4,5];
a.slice(1,-1); //返回[2,3,4];参数-1指定了最后一个元素
a.slice(-3,-2); //返回[3];
slice()能够从数组中删除元素、插入元素到数组中或者同时完成这两件事情,var a = [1,2,3,4,5,6,7,8];a.splice(4),当只有一个参数的时候,从数组的起点位置开始到数组结尾的所有元素都会被删除,这个方法会返回被删除的[5,6,7,8],这时数组a的值是[1,2,3,4],a.splice(1,2);返回[2,3],现在a的值是[1,4],a.splice(1,0,’a’,’b’); //返回[‘a’,’b’],现在a的值是[1,’a’,’b’,4];
向数组中添加或者删除元素,还有push(),pop(),unshift(),shift()四个方法,分别是想数组末尾添加元素,从数组末尾删除元素,在数组头添加一个或多个元素,shift()删除数组的第一个元素并返回。