js中容易混淆的方法
slice()
返回一个新的数组,该方法可从已有的数组中返回选定的元素,不会改变原始数组
语法:stringObject.slice(start,end)| 参数 | 描述 | |
| start | 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推 | |
| end | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置 |
例:var str="Hello world!";
console.log(str.slice(1,3)) //返回 el
console.log(str.slice(-1)) //返回 !
console.log(str.slice(-5,-3)) //返回 orsplice()
向数组中添加/删除项目,然后返回被删除的项目,会改变原始数组
语法:arrayObject.splice(index,howmany,item1,...,itemX)| 参数 | 描述 | |
| index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置 | |
| howmany | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置 | |
| item1, ..., itemX | 可选。向数组添加的新项目 |
例:var arr = ['a','b','c','d','e'];
//从下标1开始,删除一个数据,返回被删的数据:['b']
console.log(arr.splice(1,1));
var arr2 = ['a','b','c','d','e'];
//从下标2开始,删除0个数据,添加两个数据,输出:返回添加后的数组内容:["a", "b", "添加的第一个数据", "第二个", "c", "d", "e"]
console.log(arr2.splice(2,0,'添加的第一个数据','第二个'));split()
用于把一个字符串分割成字符串数组
语法:stringObject.split(separator,howmany)| 参数 | 描述 | |
| separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject | |
| howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的字符串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度 |
例:var str = "2:3:4:5"
console.log(str.split(":")) //将返回["2", "3", "4", "5"]
console.log("|a|b|c".split("|")) //将返回["", "a", "b", "c"]提示:
String.split() 执行的操作与 Array.join 执行的操作是相反的
如果separator为空字符串 (""),那么 stringObject 中的每个字符之间都会被分割
例:let arr = Array(5).join(0) //"0000"
console.log(arr.split('')) //["0", "0", "0", "0"]
console.log("Hello world".split(' ')) //["Hello", "world"]substr()
方法可在字符串中抽取从 start 下标开始的指定数目的字符
语法:stringObject.substr(start,length)| 参数 | 描述 | |
| start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推 | |
| length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串 |
返回值:
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
例:var str= "Hello World!"
console.log(str.substr(1)) //返回 ello World!
console.log(str.substr(1,3)) //返回 ell
console.log(str.substr(-1,3)) //返回 !substring()
方法用于提取字符串中介于两个指定下标之间的字符
语法:stringObject.substring(start,stop)| 参数 | 描述 | |
| start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置 | |
| stop | 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾 |
提示:
与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数
例:var str= "Hello World!"
console.log(str.substring(1)) //返回 ello World!
console.log(str.substring(1,3)) //返回 el 标签:无