javascript - 使用Javascript删除地图中的多个键集?
问题描述
嗨,我有一张由键值对组成的地图。如何删除地图中的多个键集?
地图制作部分
// result key something like 0-119,0-110,0-118 for each entries
this.OptionsMap.set(''+result, selectedList[index]);
地图删除部分
Const entriesd = JSON.parse(JSON.stringify(selectedList));
for (let [key, value] of Object.entries(entriesd))
{
if (value.key === 'AB')
{
console.log('keys',value.index)
this.OptionsMap.delete(''+value.index);
}
}
选定列表
(3) [{…}, {…}, {…}]
0: {id: "101", value: "A1B", key: "AB", index: "0-119", …}
1: {id: "130", value: "130", key: "AB", index: "0-110", …}
2: {id: "130", value: "130", key: "AB", index: "0-118", …}
现在在 console.log 我可以得到我的索引,如 0-119,0-110,0-118 但在删除部分如何删除多个索引?请帮我。提前致谢。
解决方案
那个怎么样?
// SETTING AN EXAMPLE FOR THE CASE
var selected = [
{id: "101", value: "A1B", key: "AA", index: "0-119"},
{id: "130", value: "130", key: "AB", index: "0-110"},
{id: "130", value: "130", key: "AB", index: "0-118"}
];
var optionsMap = new Map([
["0-119", {id: "101", value: "A1B", key: "AA", index: "0-119"}],
["0-110", {id: "130", value: "130", key: "AB", index: "0-110"}],
["0-118", {id: "130", value: "130", key: "AB", index: "0-118"}],
["0-117", {id: "135", value: "131", key: "AB", index: "0-117"}],
["0-116", {id: "136", value: "132", key: "AB", index: "0-116"}],
]);
console.log('optionsMap.size',optionsMap.size);
// ACTUAL FILTERING
// THIS WILL DELETE ONLY THE OPTIONS BEING SPECIFIED IN selected
// AND HAVING KEY 'AB'
selected.filter(item => item.key === 'AB').forEach(el => optionsMap.delete(el.index));
// RESULT
console.log('optionsMap.size',optionsMap.size);
推荐阅读
- json - 用变量替换值 - jq
- kubernetes - 配置 gsutil 以在 pod 内使用 kubernetes 服务帐户凭据
- ios - Swift - 删除所有设备上所有已发送的通知
- git - 将 PR 变基为 master 之上的单个提交
- c++ - 无法访问地址 0xc8 的内存
- algorithm - 统计/算法:我如何将每周图表与其自己的历史进行比较,以查看过去何时几乎相同?
- javascript - js 代码如何使用终端获取输入文件?
- heroku - Heroku 上启用 JVM 指标的 Thorntail 应用程序
- c++ - 如何指定我要使用的重载函数
- php - nginx 位置块仅在 conf 文件中