array
- arr.splice(i,n) // 删除从i(索引值)开始之后的那个元素。返回值是删除的元素,会改变原数组
参数: i 索引值 n 个数
let arr = [1,2,3,4,5]
console.log(arr.splice(2,2)) //[3,4]
console.log(arr) // [1,2,5]
- arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组,不会改变原数组
let arr = [1,2,3,4,5]
console.log(arr.slice(1,3)) // [2,3]
console.log(arr) // [1,2,3,4,5]
String
- str.slice(); // 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
let str = 'The morning is upon us.'; // str 的长度 length 是 23。
str.slice(1, 8); // 返回 'he morn.'
str.slice(4, -2); // 返回 'morning is upon u'
str.slice(12); // 返回 'is upon us.'
str.slice(30); // 返回 ''
str.slice(-3); // 返回 'us.'
str.slice(-3, -1); // 返回 'us'
str.slice(0, -1); // 返回 'The morning is upon us'
- str.split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
let str = '123456'
console.log(str.split('')) // ["1", "2", "3", "4", "5", "6"]
字符串替换其中某一个元素的方法:
- 先使用split转成数组,使用下标或者splice进行替换
- 使用substring,提取字符然后进行拼接
- replace全局替换
总结: slice在数组和字符串的作用一致,都是切割其中的某一部分,不会改变原数组,split是字符串转成数组的方法,也不会改变原数组,splice数组特有删除新增数组元素的方法,即使可以通过下标获取某个位置的字符串,但是无法通过下标去修改. 其他
- vue2中重写的数组方法只有7个,因为这几个方法会改变原数组.
var methodsToPatch = [ "push", "pop", "shift", "unshift", "splice", "sort", "reverse", ];