Dict Javascript my#Dict={';A';test';,';B';:';test';:为什么my#Dict[';A';]返回未定义?

Dict Javascript my#Dict={';A';test';,';B';:';test';:为什么my#Dict[';A';]返回未定义?,javascript,jquery,Javascript,Jquery,我将字典my_dict传递给我的JS代码,并console.log(my_dict)返回我的dict 但是当我试图通过一个键访问一个值时,它返回“undefined”,而键“a”存在 怎么了 my_dict= $("#my_dict").data('my_dict'); console.log(my_dict); // display my_dict in my console console.log(my_dict['A']); // display undefined in my conso

我将字典
my_dict
传递给我的JS代码,并
console.log(my_dict)
返回我的dict

但是当我试图通过一个键访问一个值时,它返回“undefined”,而键“a”存在

怎么了

my_dict= $("#my_dict").data('my_dict');
console.log(my_dict); // display my_dict in my console
console.log(my_dict['A']); // display undefined in my console

此数据属性不返回数组,而是返回对象

尝试获取ket值对,就像从对象获取一样

my_dict.A

看看下面的代码

$(“#my_dict”).data(“my_dict”,{A:'test',B:'test});
调试器;
var my_dict=$(“#my_dict”).data('my_dict');
console.log(我的字典);//在我的控制台中显示我的命令
控制台日志(我的目录A)

此数据属性不返回数组,而是返回对象

尝试获取ket值对,就像从对象获取一样

my_dict.A

看看下面的代码

$(“#my_dict”).data(“my_dict”,{A:'test',B:'test});
调试器;
var my_dict=$(“#my_dict”).data('my_dict');
console.log(我的字典);//在我的控制台中显示我的命令
控制台日志(我的目录A)

假设该值包含引号,请尝试以下操作:

$(“#我的字典”)。数据(“我的字典”{A:“多维生素和低聚物”,B:“羟基氯喹”,C:“法维吡拉韦”,D:“伊马替尼”,E:“替米沙坦”});
var my_dict=$(“#my_dict”).data('my_dict');
var my_dict_2=JSON.parse(JSON.stringify($(“#my_dict”).data('my_dict'));
console.log(my_dict['A']);
console.log(my_dict_2['A']);
//两者都能完美地工作
//现在我猜你的数据是用引号括起来的“
//注意,props应该位于双引号“”之间(“A”而不是-A,后者是无效的JSON字符串)
$(“#我的字典”)。数据(“我的字典”,“A”:“聚维生素和低聚物”,“B”:“羟基氯喹”,“C”:“法维吡拉韦”,“D”:“伊马替尼”,“E”:“替米沙坦”);
my#dict=$(“#my#dict”).data(“my#dict”);
my#dict_2=JSON.parse($(“#my_dict”).data('my#dict');
//这将给您提供未定义的
console.log(my_dict['A']);
//解析字符串将起作用
console.log(my_dict_2['A'])

假设该值包含引号,请尝试以下操作:

$(“#我的字典”)。数据(“我的字典”{A:“多维生素和低聚物”,B:“羟基氯喹”,C:“法维吡拉韦”,D:“伊马替尼”,E:“替米沙坦”});
var my_dict=$(“#my_dict”).data('my_dict');
var my_dict_2=JSON.parse(JSON.stringify($(“#my_dict”).data('my_dict'));
console.log(my_dict['A']);
console.log(my_dict_2['A']);
//两者都能完美地工作
//现在我猜你的数据是用引号括起来的“
//注意,props应该位于双引号“”之间(“A”而不是-A,后者是无效的JSON字符串)
$(“#我的字典”)。数据(“我的字典”,“A”:“聚维生素和低聚物”,“B”:“羟基氯喹”,“C”:“法维吡拉韦”,“D”:“伊马替尼”,“E”:“替米沙坦”);
my#dict=$(“#my#dict”).data(“my#dict”);
my#dict_2=JSON.parse($(“#my_dict”).data('my#dict');
//这将给您提供未定义的
console.log(my_dict['A']);
//解析字符串将起作用
console.log(my_dict_2['A'])


您是在代码中包含返回值,还是只是添加伪代码以便我们看到返回的内容?您能告诉我们元素数据是如何设置的吗?对象{A:“多维生素和低聚物”,B:“羟基氯喹”,C:“法维吡拉维”,D:“伊马替尼”,E:“替米沙坦”}@SLATER这是真正的代码吗?这些键应该被引用(
“A”:“…”
等)。@Jon:不,显示的是console.log(我的字典),你是在代码中包含返回值,还是你只是放了伪代码,让我们看看返回的是什么?你能告诉我们元素数据是如何设置的吗?对象{A:“聚维胺和低聚物”,B:“羟基氯喹”,C:“Favipiravir”,D:“伊马替尼”,E:“替米沙坦”}@SLATER这是真正的密码吗?那些钥匙应该被引用(
“A”:“…”
等等)。@Jon:不,显示的是console.log(我的字典)
obj.A
obj['A']
,两者都应该起作用。
obj.A
obj['A']
之间绝对没有区别,两者都应该起作用。