如何从Typescript中的字符串索引数组中删除项目

bb2*_*bb2 15 typescript

我有:

interface IMap {
[name: string]: string;
}

var map: IMap = {};
map["S"] = "s";
map["C"] = "c";
map["D"] = "d";
Run Code Online (Sandbox Code Playgroud)

如何完全删除项目地图["S"]?我不想以null对象结束,因此使用delete map ["S"]将无效.

bas*_*rat 23

如何完全删除项目地图["S"]?我不想以null对象结束,所以使用delete map ["S"]

delete确实完全清除它:

interface IMap {
[name: string]: string;
}

var map: IMap = {};
map["S"] = "s";
map["C"] = "c";
map["D"] = "d";

delete map["S"];
console.log(map);
console.log(map["S"],map["non-existent"]); // undefined,undefined
console.log(Object.keys(map)); // ["C","D"]  
Run Code Online (Sandbox Code Playgroud)

  • 这似乎在地图上留下了一个空条目? (2认同)
  • **否**,删除地图条目不会留下空条目 (2认同)
  • 但实际上并没有 (2认同)