我试图写一个for循环来创建一个columns
对象,如下所示:
columns: [
{data: "productCode", title: "Product Code", width: "7%"},
{data: "brand", title: "Brand", width: "10%"},
]
到目前为止,我已经尝试过:
定义每个列的属性:
var ltColumns = {
"col1": {data: "productCode", title: "Product Code", width: "7%" },
"col2": {data: "brand", title: "Brand", width: "10%"}
};
用
for
循环填充列属性。columns: [
for (var key in ltColumns) {
{
data: ltColumns[key].data,
title: ltColumns[key].title,
width: ltColumns[key].width}
}
];
但是,我一直收到错误
Unexpected token for
。有人可以帮我语法吗?谢谢!!
最佳答案
您需要在数组外部执行for
循环:
var columns = [];
for(var key in ltColumns) {
columns.push({
data: ltColumns[key].data,
title: ltColumns[key].title,
width: ltColumns[key].width
});
}
我建议看MDN's docs on
Array.prototype
。我上面使用的方法是
Array.prototype.push
,它将项目推到数组的末尾。注意:这是常见的ES5实现。