使用数组的splice方法实现数组的添加、删除、替换(区分slice方法)

使用数组的splice方法实现数组的添加、删除、替换

首先,使用splice方法我们先要区分slice方法,两者都是数组的方法,虽然方法名很像,功能却不同

slice() 截取

slice() 截取

该方法可以基于当前数组中的一项或多项创建一个新数组

它接收一个或两个参数,即要截取的起始位置和结束位置(不包括结束位置)。如果只有一个参数,则截取起始位置到末尾的所有项。

如果参数中有负数,那么就用数组长度加上该参数的到结果作为实际参数,例如数组长度为5时,slice(-2,-1)与slice(3,4)的效果相同,如果结束位置小于起始位置,则返回空数组
let arr = [1,2,3,4,5,6,7]
console.log(arr.slice(1,4));//[2,3,4]
console.log(arr);//[1,2,3,4,5,6,7] 该方法不改变原数组

console.log(arr.slice(1));//[2,3,4,5,6,7]

console.log(arr.slice(-2,-1));//相当于arr.slice(5,6)  输出[6]
console.log(arr.slice(5,6));//输出[6]

//结束位置小于开始位置,返回空数组
console.log(arr.slice(-1,-4));//输出[]
console.log(arr.slice(6,3));//输出[]

splice()

splice() 数组最强大的方法,它可以删除,添加,替换

实现删除:指定两个参数,参数1:起始位置 参数2:删除的项数 例如splice(0,2) 删除头两项

**实现添加:**指定三个参数,参数1:起始位置 参数2:0(表示要删除的项数,0表示只插入不删除)参数3:要添加的项(如果要添加的项有多个,可以继续传入多个项)例如splice(1,0,“22”,“99”) 从数组的下标1开始添加项

**实现替换:**从指定位置添加任意数量的项,同时删除任意数量的项,需要指定三个参数,参数1:起始位置 参数2:要删除的项数 参数3:要插入的任意数量的项。插入的项数不必与删除的项数相等 例如 splice(2,1,“k”,‘l’) 删除数组位置2的项,再从位置2开始插入新元素

splice()方法始终会返回一个新数组,该数组包含被删除的项,如果没有删除,则返回空数组

实现删除

 //实现删除
 let arr = [1,2,3,4,5,6,7]
 console.log(arr.splice(0,2));//[1,2] 返回被删除的元素
 console.log(arr);//[3,4,5,6,7] 该方法会改变原数组

实现添加

let arr = [1,2,3,4,5,6,7]
console.log(arr.splice(1,0,100,200));//[]返回空数组,没有被删除的元素
console.log(arr);//[ 1, 100, 200, 2, 3, 4, 5, 6, 7 ]  改变原数组

实现替换

 let arr = [1,2,3,4,5,6,7]
 console.log(arr.splice(2,1,"hello","world"));//[3]  返回被删除的元素
 console.log(arr);//[1,2,"hello","world",4,5,6,7]
let arr = [1,2,3,4,5,6,7]
console.log(arr.splice(1,6,"hello"));//[2,3,4,5,6,7]  返回被删除的元素
console.log(arr);//[1,"hello"]

猜你喜欢

转载自blog.csdn.net/m0_48895748/article/details/127612854
今日推荐