JS编程建议——52:建议使用splice删除数组

建议52:建议使用splice删除数组
删除数组元素的方法有多种,最简单的方法是利用length属性来截断数组,但这种方法比较笨拙,仅能够截断尾部元素。在JavaScript中,由于数组其实就是对象,因此使用delete运算符可以从数组中移除元素。
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];
delete numbers[2]; // numbers=['zero','one',undefined,'three','four','five', 'six','seven','eight','nine'];
但是,使用这种方式删除指定下标位置的元素后,会在数组中遗留一个空洞。这是因为排在被删除元素之后的元素保留了它们最初的名字(下标位置),而我们通常想要的是递减后面每个元素的名字(下标)。
幸运的是,JavaScript数组有一个splice方法,它可以删除一些元素并将它们替换为其他的元素。splice方法的第一个参数是数组中的一个序号,第二个参数是要删除的元素个数。任何额外的参数会在序号那个点的位置被插入数组中。例如:
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];

  1. splice (2,1) ; // numbers = ['zero', 'one', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
    执行以上代码之后,元素值为“three”的下标值从4变为3,同理,其后所有元素的下标值都递减1。因为必须移除被删除元素后面的每个元素,并且将一个新的键值重新插入,因此,这对于大型数组来说效率会更高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值