📖splice 方法是一个数组方法, 特别强大, 可以增、删数据。当然, 可以结合增和删来模拟改数据。
但是我很少用这个方法, 也没有特别了解这个方法,今天就来整理一下。
1. 一个参数, 代表删数据
let arr = [1, 2, 3, 4, 5, 6]
let res = arr.splice(2) // 删除从下标2开始(包括下标2所在的元素)的全部数据
console.log(arr) // [1, 2], 代表 splice 会修改原数组
console.log(res) // [3, 4, 5, 6], 所删除的数据会被返回
2. 两个参数, 第二个参数代表长度
let arr = [1, 2, 3, 4, 5, 6]
let res = arr.splice(2, 3)
console.log(arr) // [1, 2, 6], 删除从下标2开始(包括下标2)的三个元素
console.log(res) // [3, 4, 5], 被删除的四个元素将会返回
3. 两个参数以上, 从第三个参数开始(包括第三个参数)的内容都是待插入内容
let arr = [1, 2, 3, 4, 5, 6]
let res = arr.splice(2, 3, 'jiang', 'jian', 'qing')
console.log(arr) // [1, 2, 'jiang', 'jian', 'qing', 6],
// 删除从下标为2(包括2)开始的三个元素,
// 然后再下标为2的地方分别插入'jiang', 'jian', 'qing'三个元素
console.log(res) // [3, 4, 5], 返回被删除的数据
最后 来个小测验: 将数组中下标为 2 的数据改为"j"⬇️⬇️⬇️
let arr = [1, 2, 3, 4, 5]
arr.splice(2, 1, 'j')
console.log(arr) // [1, 2, 'j', 4, 5]
// 首先删除下标为2的数据,
// 再插入数据到下标为 2 的位置