请查看下面的代码片段:
var arr = [{"id":"123", "name":"Jyotirmoy"}];
var mapObj = {};
for(var i=0; i < arr.length; i++){mapObj[arr[i].id] = arr[i];}
现在 map 已创建,但是当我尝试使用以下键引用它时:
mapObj.123 它给我一个“意外数字”错误?但是如果我尝试对 mapObj[123] 或 mapObj["123"] 进行相同的操作,它会显示正确的对象。我需要做什么才能使用“.”来引用相同内容符号?
最佳答案
通过点表示法 (a.x
) 访问时,Javascript 属性不能以数字开头。
如果该对象是
{ one1: foo }
然后
mapObj.one1
可以。由于 id
值是数字,因此您需要使用括号表示法 (a[x]
):
mapObj[1]
或
mapObj["1"]
关于javascript - 能够创建一个以字符串为键的映射,但是当引用该键时,它会给出 "Unexpected number error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382195/