javascript - 映射获取对象键返回未定义
问题描述
在 map 中,我们可以将任何类型的数据存储为键,那么为什么我不能使用 get 获取键对象的值呢?
let map = new Map()
map.set('name', 'str')
map.set(1, 'num')
map.set({country: 'Abuddin'}, 'Tyrant')
所以现在使用 map.get(key),获取除对象之外的所有值
map.get('name')
"str"
map.get(1)
"num"
map.get({country: 'Abuddin'})
undefined
不应该 map.get({country: 'Abuddin'}) 得到暴君吗?
解决方案
您需要相同的对象引用,而不是新对象。
let map = new Map(),
object = { country: 'Abuddin' };
map.set('name', 'str')
map.set(1, 'num')
map.set(object, 'Tyrant')
console.log(map.get('name'));
console.log(map.get(1));
console.log(map.get(object));
推荐阅读
- karate - 使用空手道匹配部分响应
- swift - 快速输入 String() 和 String.self 有什么区别?
- c# - 一个项目中有许多 COM 对象
- regex - Golang替换任何和所有换行符
- php - Laravel 和 phpunit - 无法进行测试
- android - 无法从片段开始活动
- python - 如何从 QHBoxLayout 中的 qRadioButton 数组中获取选定的 qRadioButton
- microsoft-graph-api - 当 locationType 为默认值时,Microsoft Graph 中的更新事件 API 不保留位置名称
- r - Dplyr 根据条件汇总多列
- r - Shiny R中的箱线图