【发布时间】:2020-05-22 14:16:17
【问题描述】:
我正在尝试创建一个以 HTML 元素为键的对象。我使用document.createElement('div') 创建密钥,但是当我尝试将两者都插入到对象中时,第二个密钥最终替换了第一个:
let a = document.createElement('div');
let b = document.createElement('div');
let obj = {};
obj[a] = 3;
obj[b] = 'x';
console.log(obj);
有没有办法在不替换任何键或值的情况下做到这一点?
【问题讨论】:
-
你想做什么,你的用例是什么?
-
您可以使用
Map代替普通对象。 -
面试时问我这个问题。但是,找不到答案。
-
面试问题到底是什么?很确定你误解了他们想要的东西。
-
每当一个键被添加到一个对象时,它在内部执行
String(key)。String(a)和String(b)都返回"[object HTMLDivElement]"。目前还不清楚问题是什么。您的采访是否问过我们如何使用 HTML 元素作为对象的键?
标签: javascript html dictionary object dom