采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
本身 object 的 property 和 value 就是一一对应的关系,为什么不用 node.key = value 形式去表现 Map,而是用两个属性 key 和 value呢? 这样做是为了兼容更多的 key 类型吗?因为 javascript 里 object 里的 property 限定了只能是 int,string,Symbol 这3中类型。分别用两个属性,key 就不会有类型限制。除了这点,还有别的考量吗?
node.key = value
Map
key
value
抱歉,我没有理解你的问题,什么叫 node.key = value 形式去表现 Map?
class Node { constructor(key, value){ this[`${key}`] = value; } } 嗯,这个js 是用属性和值的来表示key 和 value 的对应关系。 class Node { constructor(key, value){ this.key = key; this.value = value; } } 这种写法是你教程里提到的方式。 这么一写,第二种方式key 的类型是没有限制的,比第一种好。 因为js 里很常用属性和值来做对应关系,所以有了这个提问。就是除了让 key 的类型不受限,用第二种方式还有哪些好处。额,看起来就是代码少写一行,哈哈哈
关键还是在于第一种方式本身在利用 js 独特的语法特性,而不是一个通用的 map 实现。当然,如果你只是使用 js,并且使用第一种方式可以满足你的需求,当然没问题:)继续加油!:)
好的,明白啦,谢谢~
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.3k 16
1.4k 17
1.3k 14
1.2k 14