js中slice、splice、substr、split方法
1、slice
可用于数组与字符串,返回一个新的数组,原数组不改变,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
在string中 slice(start,end)、array.slice(start,end),表示对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1。
2、splice
只能操作数组,不能对字符进行操作(需要进行分割转换成数组格式),返回被删除的元素组成的数组 ,会改变原始数组。
它可以用于插入、删除或替换数组的元素。W3school例子:
arrayObject.splice(index,howmany,item1,.....,itemX)
参数至少两个,index为必选项,表示操作数组的起始位置,负数表示从倒数开始。howmany为必选项,表示从起始位置开始要替换或删除几个元素。item(包括item1、item2...)为可选项目,表示要替换的新元素,有则替换没有则表示删除。splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
3、split
用于把一个字符串分割成字符串数组,可用于数组与字符串,返回一个字符串数组。
split(separator,howmany)separator是必选项。表示分割字符串的符号。howmany为可选项,表示分割后返回的结果长度。
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。而且String.split() 执行的操作与jion()函数操作是相反的。
4、substr
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
W3school例子如:
stringObject.substr(start,length)
返回值为一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 slice() 来使用。
run.innerHTML=run.innerHTML.substr(0,run.innerHTML.length-1);
run.innerHTML=run.innerHTML.slice(0,run.innerHTML.length-1);
run.innerHTML=run.innerHTML.split('').splice(0,run.innerHTML.length-1,).join('');
这三行代码都是对同一字符串的操作,效果一样。
总结:
substr()、split()和slice()相似,可以作用于字符串,split()和slice()不会对原数组进行改变,splice() 方法会直接对数组进行修改,不能直接操作字符串。