slice方法
- slice(start, end)用于字符串和数组截取,start开始截取的位置索引,end截取结束的索引值(不包含),end参数等于你要取的最后一个字符的位置值加上1
- slice返回的是一个新的数组,不改变原有数组
- slice(start, end)中start必需有。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
- slice(start, end)中end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
- 切记:slice是可以对数组和字符串进行截取的
实例1:
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(0, 2)); //[1,2]
let str = "12345";
console.log(str.slice(0, 2)); //12
实例2:
当slice中只有一个参数,就表示以当前参数为下标开始截取
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(2)); //[3,4,5]
let str = "12345";
console.log(str.slice(2)); //345
实例3:
当slice参数为负数的时候,就从最后一个-1开始倒数过来,找到start开始截取的位置,然后开始截取
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(-2)); //[4,5]
let str = "12345";
console.log(str.slice(-2)); //45
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(-2, -1)); //[4]
let str = "12345";
console.log(str.slice(-2, -1)); //4
substr方法
- substr()对字符串进行截取
- substr(start, len)中start为必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
- substr(start, len)中len可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从字符串的开始位置到结尾的字串。
- 返回一个新的字符串
实例如下:
let str = "12345";
console.log(str.substr(0, 2)); //12
console.log(str.substr(2)); //345
substring方法
- substring方法跟sustr方法类似,都是只能字符串截取
- substring跟sustr不同点:sustring(star,end)中第二个参数end是字符串结束的位置,而不是长度(end等于要取的最后一个字符的位置值加上1)
- sustring(star,end)中 start 或 end 为 NaN 或者负数,那么将其替换为0
- substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点
实例1:
let str = "12345";
console.log(str.substring(1, 2)); //2
console.log(str.substring(2)); //345
实例2:
substring中参数为负数会用0替换,而substr参数为负数,是从结尾开始的
let str = "12345";
console.log(str.substring(4, 2)); //34
console.log(str.substring(-2)); //12345
console.log(str.substr(-2)); //45
splice方法
- splice会直接对数组进行修改,只能操作数组,不能操作字符串
- arrayObject.splice(index,howmany,item1,…,itemX)其中,第二个参数和第二个参数是必选的。index:开始截取索引;howmany:要删除的项目数量。如果设置为 0,则不会删除项目;第三个参数之后就是要插入的数值
实例1:
let arr = [1, 2, 3, 4, 5];
let b = arr.splice(0, 2);
console.log(b); // [1,2]
console.log(arr); //[3,4,5]
实例2:
let arr = [1, 2, 3, 4, 5];
let b = arr.splice(1, 2);
console.log(b); // [2, 3]
console.log(arr); //[1,4,5]
实例3
splice删除和插入
let arr = [1, 2, 3, 4, 5];
let b = arr.splice(1, 2, "new");
console.log(b); // [2, 3]
console.log(arr); //[1,'new',4,5]
split方法
split() 方法用于把一个字符串分割成字符串数组
split可以放两个参数,第一个参数表示分隔符,必选的;第二个参数表示返回数组的最大长度
let str = "123,123,123,123,123";
let a = str.split(",");
let b = str.split(",", 2);
console.log(a); // ["123", "123", "123", "123", "123"]
console.log(b); // ["123", "123"]
注意点
- 操作对象字符串:split,substr,substring,slice
- 操作对象数组:slice,splice
- 操作对象数组和字符串:slice
- splice只能操作数组,slice可以操作字符串和数组,substr和substring只能操作字符串