splice
splice是数组的一个强大的方法,既可以添加元素,也可以删除元素,还是同时删除元素并添加元素,可以接受多个参数。
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
第一个参数是start,截取的初始位置
第二个参数是deleteCount,截取元素的个数
第三个及后面的参数,在删除位置参数的元素
使用splice的返回值是一个截取数组,这个方法会修改原数组,原数组此时是被截取后的数组了,splice可以不传参,返回一个空数组,也没有改变原数组;传一个参数的时候,代表从当前位置删除到数组尾部;
// 不传参 返回空数组
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.splice()) // []
console.log(arr) // [1,2,3,4,5]
}
// 一个参数 从当前序列号开始截取到数组尾部 返回截取到的数组 原数组此时为空数组了
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.splice(0)) // [1,2,3,4,5]
console.log(arr) // []
}
// 两个参数 从当前序列号开始,截取指定元素的个数 返回截取的元素数组,原数组改变为剩下的元素的数组
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.splice(0, 2)) // [1,2]
console.log(arr) // [3,4,5]
}
// 多个参数 从第一个参数的序列号开始,删除几个元素,然后再删除的位置,将剩下的参数插入
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.splice(0, 2, 8, 9)) // [1,2]
console.log(arr) // [8,9,3,4,5]
}
slice
slice方法被称为切片工具,最多可以接收两个参数
arr.slice([begin[, end]])
// 不传参 返回原数组
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.slice()) // [1, 2, 3, 4, 5]
console.log(arr) // [1, 2, 3, 4, 5]
}
// 传一个参数 从当前序号开始切到数组尾部
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.slice(2)) // [3,4,5]
console.log(arr) // [1, 2, 3, 4, 5]
}
// 传两个参数 第一个参数从当前序号开始切到 第二个参数,左闭右开,第二个参数的序列号不切
{
let arr = [1, 2, 3, 4, 5]
console.log(arr.slice(2, 4)) // [3,4]
console.log(arr) // [1, 2, 3, 4, 5]
}
网友评论