我必须在一个assoc中预订(音乐)音符。阵列。预订变量是:
var table = {
"E": [],
"F": [],
"G": [],
"A": [],
"H": [],
"c": [],
"d": [],
"e": [],
"f": [],
"g": [],
"a": [],
"h": [],
"c'": [],
"d'": [],
"e'": [],
"f'": [],
"g'": [],
"a'": [],
"h'": [],
"c\'\'": [],
"d\'\'": []
};
当我解析我的笔记时,插入的值(笔记位置)没有任何问题。但是当我想获得该值时,不可能使用密钥c'
,而例如e
,a
,d
工作。为什么c'
可以接受值但无法找到键?我必须在哪里寻找解释?
答案 0 :(得分:3)
您是如何访问该密钥的?
table["c'"] = 'foo'; // work as expected
table.c' = 'foo'; // syntax error due to unterminated string
答案 1 :(得分:1)
如果要使用不是有效JavaScript标识符的对象属性,请确保使用括号语法[…]
,如下所示:
console.log(table["c'"]); // works
进一步阅读