You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何根据Key/ID删除Dictionary中的对应条目?

嘿,这两个问题本质上是同一个需求——在TypeScript里删除字典中的指定条目,我给你分两种常用场景来讲解,适配不同的需求~

方法一:使用delete操作符(修改原字典)

这是最直接的方式,会直接修改原有的字典对象。结合你给出的PersonInformation类型,具体代码如下:

首先定义好你的类型和字典:

interface PersonInformation {
  FirstName: string;
  SecondName: string;
  Age: string;
}

// 用Record来定义字典类型,Key是ID(这里用string类型,如果你用数字ID也可以换成number)
type PersonDict = Record<string, PersonInformation>;

// 示例字典
const personDict: PersonDict = {
  "p1": { FirstName: "Sakshi", SecondName: "Mehta", Age: "28" },
  "p2": { FirstName: "Rahul", SecondName: "Sharma", Age: "32" }
};

然后删除指定ID的条目:

const idToDelete = "p1";
// 直接用delete操作符删除对应Key的条目
delete personDict[idToDelete];

// 验证一下:现在personDict里已经没有p1这个条目了
console.log(personDict); // 输出 { p2: { FirstName: "Rahul", SecondName: "Sharma", Age: "32" } }

注意:如果目标ID不存在于字典中,delete不会抛出错误,只是静默执行,不会对原字典有任何影响。

方法二:解构赋值创建新字典(不修改原字典)

如果你不想修改原字典,希望保持它的不可变性(比如在React状态管理这类场景很常用),可以用解构赋值的方式创建一个不包含目标条目的新字典:

const idToDelete = "p1";
// 解构出目标ID对应的条目(用_占位表示不需要这个变量),剩下的就是新字典
const { [idToDelete]: _, ...updatedPersonDict } = personDict;

// 原字典personDict完全不变,updatedPersonDict是删除后的新字典
console.log(personDict); // 还是原来的完整字典
console.log(updatedPersonDict); // 输出 { p2: { FirstName: "Rahul", SecondName: "Sharma", Age: "32" } }

这种方式的好处是不会改变原对象,避免了副作用,在需要保持数据纯净的场景下非常适用。

内容的提问来源于stack exchange,提问作者Sakshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:12:45