2014-02-20 29 views
1

我必须在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',而例如ead工作。为什么c'接受值但不能找到钥匙?我应该在哪里寻找解释?

+0

将代码包含在问题实际发生的地方会很有帮助。 –

回答

3

你是如何访问该密钥的?

table["c'"] = 'foo'; // work as expected 
table.c' = 'foo'; // syntax error due to unterminated string 
1

如果你想使用一个对象的属性不是有效的JavaScript标识,请确保您使用括号语法[…],像这样:

console.log(table["c'"]); // works 

进一步阅读