splice() 和 slice() 的异同

一、splice()
定义:从数组中添加或删除元素,然后返回被删除的数组元素

语法:arrayObject.splice(index,n,item1,.....,itemN)

1、index表示从什么位置开始添加或删除数组元素

2、n表示删除的元素数量,如果为0,则表示不删除数组元素

3、item1,.....,itemN表示新增的数组元素

4、splice()方法会改变原始数组

//删除第一项
let arr = [1,3,5,6]
let delArr = arr.splice(0,1)
console.log(arr) // [3,5,6]
console.log(delArr) //[1]
 
//从位置1开始插入2项
let names = ['xiaoming','xiaohong','fangfang']
let newNames = names.splice(1,0,'wukong','bajie')
console.log(names)    // ['xiaoming', 'wukong', 'bajie', 'xiaohong', 'fangfang']
console.log(newNames) // [] 参数为0,没有删除元素所以返回的是空数组
 
//删除最后一个元素
let arr = [1,2,3,4,5]
let newArr = arr.splice(-1,1)
console.log(arr) // [1,2,3,4]
console.log(newArr) // [5]
 
//删除最后一个元素,同时在最后一个元素前面添加一个元素
let arr = [2,4,6,8]
arr.splice(-1,1,100)
console.log(arr) // [2, 4, 6, 100]


二、slice()
定义:从已有的数组中返回你选择的某段数组元素

语法:arrayObject.slice(start,end)

1、start表示从何处开始选取,start可以为负数,此时它规定从数组尾部开始算起的位置。也就是-1 ,指最后一个元素,-2 指倒数第二个元素,以此类推

2、end表示从何处结束选取,end如果没有被指定参数,数组会包含从 start 到最后一个数组元素的所有元素

3、slice()不会改变原数组,而是返回所选取范围的数组元素

let arr = ['a','b','c','d']
let newArr = arr.slice(0,2)
console.log(arr) // ['a','b','c','d']
console.log(newArr) // ['a', 'b']
 
let a = [1,2,3,4]
let b = a.slice(-1)
console.log(a) //[1,2,3,4]
console.log(b) //[4] 没有end,取的就是最后一个


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

engineer_z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值