在 Javascript 中删除整个对象

Deleting an entire object in Javascript

本文关键字:对象 删除 Javascript      更新时间:2023-09-26
arr = [
 {
   id:1
 },
 {
   id:2
 }
]

这是一个示例对象结构。我想删除此数组中的第一个对象。

 delete arr[0];

生成的结构为

[
{
  undefined * 1
},
{
  id:2
}
]

我搜索了很多,发现删除整个对象会导致悬空指针问题。但是我希望生成的数组在删除后只有一个对象。还有其他方法可以实现这一点吗?

编辑 如果对象既不是第一个也不是最后一个怎么办?

您需要创建一个较短的数组。要删除第一个元素,只需对数组进行切片:

arr = arr.slice(1);

当前一个数组被丢弃时,第一个元素也将被丢弃。

作为 Array.prototype.slice() 的替代方法,您可以使用 array.prototype.shift() ,它只是删除数组的第一个元素:

arr = [
 {
   id:1
 },
 {
   id:2
 }
];
console.log(arr); // [Object, Object]
arr.shift();
console.log(arr); // [Object]

引用:

  • Array.prototype.shift() .
  • Array.prototype.splice() .

从数组中删除任何内容的唯一方法是调整其大小

arr = arr.slice(1)