下面的JavaScript映射有什么问题?
这是错误的:下面的JavaScript映射有什么问题?,javascript,arrays,json,Javascript,Arrays,Json,这是错误的:未捕获类型错误:无法读取未定义的属性“type”您试图访问的是键名称和类型,而不是存储在变量中的键。改用括号表示法: const myAssetMap = { General: { name: 'Common', bkgHex: '#eee', fontHex: '#aaa', }, ... const getAsset = (name, type) => { return myAssetMap.name.type; } console
未捕获类型错误:无法读取未定义的属性“type”
您试图访问的是键名称和类型
,而不是存储在变量中的键。改用括号表示法:
const myAssetMap = {
General: {
name: 'Common',
bkgHex: '#eee',
fontHex: '#aaa',
},
...
const getAsset = (name, type) => {
return myAssetMap.name.type;
}
console.log( getAsset('General', 'name') );
更改此返回myAssetMap.name.type
对此返回myAssetMap[name][type]
它应该是myAssetMap[name][type]
奇怪的,它仍然在Uncaught-TypeError中出错:无法读取未定义的
@AnApprentice的属性“svg”。在这种情况下,您可能正在调用getAsset('Something',svg'))
如果myAssetMap
ya idk中不存在某些内容,则当类型为“name”时,它会工作,但当类型为“bkgHex”时,它会出错,无法读取的属性“bkgHex”undefined@AnApprentice考虑到问题的对象,这怎么可能呢?你能重现你在stacksnippets上描述的内容吗?
return myAssetMap[name][type];