Javascript 如何从对象中删除项目

Javascript 如何从对象中删除项目,javascript,Javascript,我有: 如何完全删除项目映射[“S”]?我不想以一个空对象结束,因此使用delete-map[“S”]不起作用 如何完全删除项目映射[“S”]?我不想以空对象结束,所以使用delete map[“S”] delete是否完全清除它: 为什么delete map[“S”]会留下空值?它不应该表现得像JS吗?你试过了吗?我刚意识到我有一个打字错误,在打印结果时得到了[Object]。修复后,我看到该项目已成功删除。这似乎在地图中留下了一个空条目?不,删除地图条目不会留下一个空条目它实际上留下了一个空

我有:

如何完全删除项目映射[“S”]?我不想以一个空对象结束,因此使用delete-map[“S”]不起作用

如何完全删除项目映射[“S”]?我不想以空对象结束,所以使用delete map[“S”]

delete
是否完全清除它:


为什么
delete map[“S”]
会留下空值?它不应该表现得像JS吗?你试过了吗?我刚意识到我有一个打字错误,在打印结果时得到了[Object]。修复后,我看到该项目已成功删除。这似乎在地图中留下了一个空条目?不,删除地图条目不会留下一个空条目它实际上留下了一个空条目,但实际上没有
var map = {};
map["S"] = "s";
map["C"] = "c";
map["D"] = "d";
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"]