错误:未捕获的SyntaxError:意外的令牌[

时间:2014-09-07 04:49:03

标签: javascript jquery

我得到了这个奇怪的错误。

    Uncaught SyntaxError: Unexpected token [

我不知道为什么会出现这种错误。

有谁能告诉我为什么会出现这种错误以及如何解决?

sortedArray.push({filteredKeys[i]:_analyzedDataSet[filteredKeys[i]]});

此错误发生在上面这一行。

console.log("filteredKeys[i]:%s", filteredKeys[i]);

但是,上面这一行工作正常。

console.log("_analyzedDataSet[filteredKeys[i]]:%s", _analyzedDataSet[filteredKeys[i]]);

另外,上面这一行工作正常。

var filteredKeys = [];

filteredKeys = sortThis(_analyzedDataSet);

var sortedArray = [];
for (var i = 0; i < filteredKeys.length; i++){

    //This doesn't cause an error.
    console.log("filteredKeys[i]:%s", filteredKeys[i]);

    //This doesn't cause an error as well.
    console.log("_analyzedDataSet[filteredKeys[i]]:%s", _analyzedDataSet[filteredKeys[i]]);

    //But, this cause an error!!
    sortedArray.push({filteredKeys[i]:_analyzedDataSet[filteredKeys[i]]});
}

1 个答案:

答案 0 :(得分:3)

使用对象文字表示法时,无法向对象添加动态键。首先创建对象,然后使用数组表示法添加密钥

var newObj = {};
newObj[filteredKeys[i]] = _analyzedDataSet[filteredKeys[i]];
sortedArray.push(newObj);