【发布时间】:2020-09-27 09:08:21
【问题描述】:
我有一个以对象为键的地图。例如:{date:"01/01/1990", idActiv:"4"}。
然后作为一个值,我有一个代表真假的字符串(“T”或“F”)。我的目标是在给定键的情况下更新该值。
var mapElem = new Map();
mapElem.set({date: "08/06/2020", idActiv: "1"}, "T");
mapElem.set({date: "18/06/2020", idActiv: "3"}, "T");
如何使用对象键 {date: "08/06/2020", idActiv: "1"} 更新地图?
如果我这样做:
mapElem.set({date: "08/06/2020", idActiv: "1"},"F");
我将重复键(Mozilla Firefox 控制台):
mapElem.set({date: "08/06/2020", idActiv: "1"},"F");
Map(3)
size: 3
<entries>
0: Object { date: "08/06/2020", idActiv: "1" } → "T"
1: Object { date: "18/06/2020", idActiv: "3" } → "T"
2: Object { date: "08/06/2020", idActiv: "1" } → "F"
【问题讨论】:
-
Map 对键使用严格的相等性检查
-
这能回答你的问题吗? Using Array objects as key for ES6 Map
-
如果
date是唯一的,您可以使用它作为键 -
也相关:Map using tuples or objects。它提到了一个可能的解决方案是价值对象。然而,当时 ES7 计划在几年前推出,但没有此功能。 The proposal 目前仍处于第一阶段。
标签: javascript dictionary jsp key