使用星号*作为对象中的键

时间:2013-07-27 22:34:00

标签: javascript

我在尝试使用星号作为对象的键引用时遇到错误。我尝试过格式化不同的方法,但总是得到同样的错误:

SyntaxError: missing name after . operator

这是我的代码,其中包含从维基百科api ...

呈现的对象

有问题的一行是:

的console.log(shortcut.langlinks [索引] *);

var wp = {
    "query":{
        "pages":{
            "3823":{
                "pageid":3823,
                "ns":0,
                "title":"Binary",
                "extract":"<p><b>Binary</b> means <i>composed of two pieces or two parts</i> and may refer to:</p>\n\n",
                "links":[{
                    "ns":0,"title":"Binary-coded decimal"},{
                    "ns":0,"title":"Binary (Assemblage 23 song)"},{
                    "ns":0,"title":"Binary code"}],
                "langlinks":[{
                    "lang":"de","*":"Bin\u00e4r"},{
                    "lang":"fr","*":"Binaire"},{
                    "lang":"ur","*":"\u062a\u062b\u0646\u06cc\u06c1"}]
            }
        }
    }
};

var page_key = Object.keys( wp['query']['pages'])[0]; 
var shortcut = wp['query']['pages'][page_key];

function translation() {
    if (shortcut.langlinks.length > 0){
        for (var index in shortcut.langlinks){
            if (shortcut.langlinks[index].lang == 'de'){
                console.log(shortcut.langlinks[index].*);
            }
        }   
    } else {
        console.log("There are no language links.");
    }
}

如何设置代码格式以使星号显示为键值? 谢谢。

3 个答案:

答案 0 :(得分:5)

您也可以使用括号:

shortcut.langlinks[index]['*']

答案 1 :(得分:3)

如果要访问名称也是identifier的有效名称的属性,可以使用点语法:shortcut.langlinkslanglinks是有效的标识符名称)。< / p>

当属性名称不是有效的标识符名称时,您必须改为使用尖括号语法:langlinks[index]["*"]*不是有效的标识符名称,因为它不以“$”开头, “_”,或任何归类为字母的Unicode字符。)

答案 2 :(得分:1)

您可以使用:

console.log(shortcut.langlinks[index]['*']);