截取字符串,拼接数组元素是常用的功能,但使用的方法总是混淆,今天做个笔记,便于下次查找和记忆。
- splice是数组独有的方法
- slice是数组和字符串共有的方法
- split是字符串独有的方法
splice
splice是最强大的数组方法了,有删除、插入、替换三种使用方法,splice始终会返回一个数组。
- 删除:
参数:需要两个参数,第一个数要删除的第一项的位置,是索引值;第二个是要删除的项目
例子:
var arr=["a","b","c"];
var remove = arr.splice(0,2);// ["a","b"],删除前两项
console.log(arr);//["c"]
2.插入:
参数:三个参数,第一个是插入的起始位置的索引值,第二个是0(删除的项目),第三个是要插入的项,插入多个时可以添加多个,以逗号隔开
例子:
var b=["a","b","c"];
var remove = b.splice(2,0,"e");//空数组,没有删除,所以返回一个空数组
console.log(b);//["a","b","e","c"]
3.替换
参数:三个参数,第一个是起始位置的索引值,第二个是要删除的项数,第三个是要插入的项
例子:
var c = ["a","b","c"];
var remove = c.splice(1,1,"d","e");//["e"],删除了一项
console.log(c);//["a","d","e","c"]
slice
截取数组或字符串指定项的元素
参数:两个,第一个是从何处开始截取,第二个是从何处停止,但不包括此项
例子:
var str='abcdef';
var sliceStr = str.slice(1,3);//"bc"
console.log(str);//'abcdef'
split
将字符串分割
参数:两个参数,第一个是字符串或正则表达式,从该参数指定的地方分割 ,第二个参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
注意: 如果第一个参数设置为空字符串"",则会把所有项都分割
例子:
var str="How are you doing today?";
var strSplit = str.split("");//H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?