我得到了这个奇怪的错误。
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]]});
}
答案 0 :(得分:3)
使用对象文字表示法时,无法向对象添加动态键。首先创建对象,然后使用数组表示法添加密钥
var newObj = {};
newObj[filteredKeys[i]] = _analyzedDataSet[filteredKeys[i]];
sortedArray.push(newObj);