📜  如何在猫鼬的对象数组中删除一个对象 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:38:41.099000             🧑  作者: Mango

如何在猫鼬的对象数组中删除一个对象 - TypeScript

在 TypeScript 中,如果要删除一个对象数组中的某个对象,有几种方法可以使用。以下是其中的两种方式:

方法一:使用 filter()

可以使用 filter() 方法来过滤掉要删除的对象,从而实现删除效果。

以下是一个示例代码片段:

interface Mongoose {
  name: string;
  gender: string;
  age: number;
}

let mongooses: Mongoose[] = [
  { name: "Tommy", gender: "M", age: 3 },
  { name: "Kitty", gender: "F", age: 5 },
  { name: "Lucky", gender: "M", age: 2 },
];

// 要删除的对象
let toDelete: Mongoose = { name: "Kitty", gender: "F", age: 5 };

mongooses = mongooses.filter((mongoose) => mongoose !== toDelete);

console.log(mongooses); // [ { name: 'Tommy', gender: 'M', age: 3 }, { name: 'Lucky', gender: 'M', age: 2 } ]

在上面的代码中,我们创建了一个 Mongoose 类型的对象数组 mongooses,并定义了一个要删除的对象 toDelete。然后,我们使用 filter() 方法过滤掉了要删除的对象,并将结果重新赋值给原来的数组 mongooses。最后,我们输出了删除对象后的数组。

方法二:使用 splice()

另外一种方法是使用 splice() 方法来删除指定位置的元素。在 TypeScript 中,你可以使用 splice() 方法来删除对象数组中指定位置的对象。

以下是一个示例代码片段:

interface Mongoose {
  name: string;
  gender: string;
  age: number;
}

let mongooses: Mongoose[] = [
  { name: "Tommy", gender: "M", age: 3 },
  { name: "Kitty", gender: "F", age: 5 },
  { name: "Lucky", gender: "M", age: 2 },
];

// 要删除的对象
let toDelete: Mongoose = { name: "Kitty", gender: "F", age: 5 };

const index = mongooses.findIndex((mongoose) => mongoose === toDelete);
if (index !== -1) {
  mongooses.splice(index, 1);
}

console.log(mongooses); // [ { name: 'Tommy', gender: 'M', age: 3 }, { name: 'Lucky', gender: 'M', age: 2 } ]

在上面的代码中,我们也创建了一个 Mongoose 类型的对象数组 mongooses,并定义了一个要删除的对象 toDelete。然后,我们使用 findIndex() 方法找到要删除的对象在数组中的索引,并使用 splice() 方法删除掉该对象。最后,我们输出了删除对象后的数组。

以上两种方法可以帮助你在 TypeScript 中删除对象数组中的某个对象。你可以根据实际情况选择适合自己的方法。