【问题标题】:JavaScript array slice versus deleteJavaScript 数组切片与删除
【发布时间】:2012-05-06 16:34:00
【问题描述】:

有什么理由应该使用一个而不是另一个?

例如

var arData=['a','b','c'];
arData.slice(1,1);//removes 'b'

var arData=['a','b','c'];
delete arData[1];//removes 'b'

【问题讨论】:

标签: javascript arrays slice


【解决方案1】:

delete 留下[ 'a', undefined, 'c' ]

splice 留下[ 'a', 'c' ]

slice 不会对原始数组做任何事情 :) 但它会在您的代码中返回 [ 'b' ]

【讨论】:

    【解决方案2】:

    delete 仅使数组的特定位置 undefined 但数组仍然包含 3 个项目:['a',undefined,'c']

    另一种方法是splice 而不是slice。 splice 完全删除了该项目及其位置,因此您最终得到['a','c']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2016-10-14
      • 2020-08-07
      • 2015-08-25
      • 1970-01-01
      相关资源
      最近更新 更多