当前位置: 首页 > 面试题库 >

在JavaScript中删除数组元素-Delete与Splice

曹凯泽
2023-03-14
问题内容

是什么使用之间的差值的delete算子阵列元件上,而不是使用该Array.splice方法?

例如:

myArray = ['a', 'b', 'c', 'd'];

delete myArray[1];
//  or
myArray.splice (1, 1);

如果我可以像删除对象一样删除数组元素,为什么还要使用splice方法呢?


问题答案:

delete将删除对象属性,但不会为数组重新索引或更新其长度。这使得它看起来好像是未定义的:

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> delete myArray[0]
  true
> myArray[0]
  undefined

请注意,实际上并没有将其设置为value undefined,而是从数组中删除了该属性,使其 显得
未定义。Chrome开发人员工具通过empty在记录阵列时进行打印来明确区分这一点。

> myArray[0]
  undefined
> myArray
  [empty, "b", "c", "d"]

myArray.splice(start,deleteCount)实际上会删除元素,为数组重新索引,并更改其长度。

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> myArray.splice(0, 2)
  ["a", "b"]
> myArray
  ["c", "d"]


 类似资料:
  • 如上图片, 每个方块都有一个宽,高,X轴,Y轴; 有可能宽占多份, 高占多份; 但宽度最大就占3份, 高度不限; 每次删除一个格子, 下面的格子自动往左往上补齐; 给到数据假如是: 删除id为5的格子后,希望得到的是:

  • 问题内容: 如何从JavaScript中的数组中删除空元素? 有没有简单的方法,还是我需要遍历它并手动将其删除? 问题答案: 编辑: 大约9年前,当时没有很多有用的内置方法时,就回答了这个问题。 现在,当然,我建议您使用该方法。 请记住,此方法将为您返回 一个新数组, 其中的元素可以通过您提供给它的回调函数的条件。 例如,如果要删除或值: 例如,这将取决于您认为什么是“空”,如果您正在处理字符串,

  • 我有数组的电子邮件和ID,所以我想删除重复的元素谁有类似的ID的。 例子: 现在我需要删除具有ID的重复元素是常见的。从某种意义上说,我期待最终的阵列是

  • 问题内容: var arr = [1,2,3,5,6]; 删除第一个元素 我想删除数组的第一个元素,使其变为: 删除第二个元素 扩展这个问题,如果我想删除数组的第二个元素以使其变为: 问题答案: 要获得更灵活的解决方案,请使用该功能。它允许您根据索引值删除数组中的任何项目:

  • 问题内容: 根据用户提交的内容,数组中的某些元素是空字符串。我需要删除那些元素。我有这个: 但这是行不通的。仍然有空元素。我也尝试过使用该功能,但是结果是一样的。 问题答案: 在处理字符串数组时,您可以简单地使用,它可以方便地为您处理所有这一切: 请记住, 如果未提供回调 ,则将删除所有等于(请参见转换为boolean)数组的条目。因此,如果您需要保留元素,即确切的string ,则需要一个自定义

  • 本文向大家介绍Javascript删除数组里的某个元素,包括了Javascript删除数组里的某个元素的使用技巧和注意事项,需要的朋友参考一下 删除数组中的某个元素,首先需要确定需要删除元素的索引值。 找到相对应的索引值后,根据索引值删除数组中该元素对应的值 验证下,是否成功 需要将封装为数组原始的方法,以便以后需要使用 当然根据数组的splice()方法:向/从数组中添加/删除项目,然后返回被删