slice、substr、substring的区别
slice
slice() 方法可从已有的数组中返回选定的元素。 arrayObject.slice(start,end)
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
// slice ['start','end')
let a = 'abcdef';
console.log(a.slice(1,2)); //b
console.log(a.slice(-2,-1)); //e
console.log(a.slice(2,-1)) //cde
console.log(a.slice(-5,5)) //bcde
console.log('**********************');
substr
// substr ['start','length']
let b = 'abcdef';
console.log(b.substr(1,3)); //bcd
console.log(b.substr(-6,3)); //abc
console.log('**********************');
substring
与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
// substring 不接受负的参数 ['start','end')
let c = 'abcdef';
console.log(c.substring(-1,4));
// 原则上参数不能为负数,若强行传递负数,在执行时会被当成0处理
//abcd