splice()方法用于添加或删除数组中的元素
注意:该方法会改变原数组,且返回删除的元素数组
1、case1:只有一个参数 - splice(index):表示从该index的位置开始,删除它(包括它本身)之后的所有元素
let arr = ['a', 'b' , 'c', 'd', 'e']
arr.splice(3)
// console.log('arr', arr) // arr ['a', 'b', 'c']
// 当splice(index) 中的index为负数时,表示从数组长度减去index个元素,(也可以理解为从数组后面删除)
let arr2 = ['a', 'b', 'c', 'd', 'e'] // [0, 1, 2, 3, 4] ==> [0, -4, -3, -2, -1]
arr2.splice(-3)
// console.log('arr2', arr2) // arr2 ['a', 'b']
2、case2:有两个参数时,splice(index, count):表示从该index的位置开始删除(包括index自身),count表示删除的数量,如果count小于等于0则不删除
let arr3 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
arr3.splice(3, 2)
// console.log('arr3:', arr3) // arr3:['a', 'b', 'c', 'f', 'g']
// 如果第二个参数为0时或者小于0时,则不会删除元素
let arr4 = ['a', 'b', 'c']
arr4.splice(1, 0)
// console.log('arr4:', arr4) // arr4: ['a', 'b', 'c']
3、case3:有三个参数或三个以上参数时,splice(index, count, i1, i2, ..., i10)
3.1、当count为0时,表示不删除只添加,也就是从index位置开始添加这些i元素(index的位置就是i1位置)
let arr5 = ['a', 'b', 'c']
arr5.splice(2, 0, 1)
// console.log('arr5:', arr5) // arr5: ['a', 'b', 1, 'c']
let arr6 = ['a', 'b', 'c', 'd', 'e']
arr6.splice(3, 0, 1, 2, 3)
// console.log('arr6:', arr6) // arr6: ['a', 'b', 'c', 1 , 2, 3, 'd', 'e']
3.2、当count大于0时,表示删除且添加,也就是从index的位置开始添加这些i元素,并且删除(包括index本身的)count个元素,然后添加i元素
比如 count是2,那就删除index数起的2个元素
let arr7 = ['a', 'b', 'c', 'd', 'e', 'f']
arr7.splice(3, 2, 1, 2, 3)
// console.log('arr7:', arr7) // arr7: ['a', 'b', 'c', 1, 2, 3, 'f']
// 当index小于0时,表示从后面数起第|index|(包含在内), 删除count个元素,再添加i元素
let arr8 = ['a', 'b', 'c', 'd', 'e', 'f']
arr8.splice(-2, 1, 1, 2, 3)
// console.log('arr8:', arr8) // arr8: ['a', 'b', 'c', 'd', 1, 2, 3, 'f']
以上就是splice()方法的全部用法。