gpt4 book ai didi

javascript - 在 JavaScript 中删除数组元素 - 删除与拼接

转载 作者:IT老高 更新时间:2023-10-28 11:10:50 25 4
gpt4 key购买 nike

使用 the delete operator 有什么区别?在数组元素上,而不是使用 the Array.splice method ?

例如:

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

请注意,它实际上并没有设置为值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"]

关于javascript - 在 JavaScript 中删除数组元素 - 删除与拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/500606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com