slice 和 splice 的区别

做了个练手项目,遇到这么个情况

// 数组名暂定Arr
[{ //对象1
	name:1,
	arr: [
		{ prop1: 111 }
		{ prop2: 222 }
	]
}, { //对象2
	name:2,
	arr: [
		{ prop1: 111 }
		{ prop2: 222 }
	]
},{ //对象3
	name:3,
	arr: [
		{ prop1: 111 }
		{ prop2: 222 }
	]
}...]

上面这是数据格式,arr里的值是变动的,需要一个功能,就是当arr数组里为空时,删除所属的对象。
例如:当对象2中的arr为 [] 时,需要删除对象2
一开始,我通过findIndex找到符合条件的index值,再用 Arr.slice(index, 1)来删除对象,但不成功。
但,当我尝试用Arr.splice(index, 1)来操作时,却成功了。

  1. slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。注意:该方法不会改变原数组,而是返回一个子数组,如果想删除数组中的一段元素,应该使用Array.splice()方法。

  2. splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。(该方法会改变原数组)

这就是原因所在吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值