将存储数据转换为具有已定义键名的对象 ExtJS
Convert Store Data to Object with Defined Key Name ExtJS
根据 this 的回答,我想将存储数据转换为对象并定义键值。这是我的相关代码:
var recordArray = {};
var paramArray = [];
store.each(function(record){
recordArray.comment = record.get("comment");
recordArray.datecreated = record.get("datecreated");
paramArray.push(recordArray);
});
console.log(Ext.encode(paramArray));
但是打印出来的只是store的最后一条数据,sum和data sum相符。假设我有 2 个来自列表视图的数据,如下所示:
[{comment: a, datecreated:1-2-1999}, {comment: b, datecreated:2-2-1999}]
打印出来:
[{comment: b, datecreated:2-2-1999}, {comment: b, datecreated:2-2-1999}]
我要的当然是paramArray包含listView的每一个对象,而不是一个一个。有任何想法吗?帮助表示赞赏。
试试这个,
var paramArray = [];
store.each(function(record){
var recordArray = {};
recordArray.comment = record.get("comment");
recordArray.datecreated = record.get("datecreated");
paramArray.push(recordArray);
});
在您的代码中,您覆盖了原始 recordArray 对象中的值,而不是每次都创建一个新对象,并且由于对象在 JavaScript 中通过引用传递,paramArray[0] 中的原始 recordArray 引用也被修改。
根据 this 的回答,我想将存储数据转换为对象并定义键值。这是我的相关代码:
var recordArray = {};
var paramArray = [];
store.each(function(record){
recordArray.comment = record.get("comment");
recordArray.datecreated = record.get("datecreated");
paramArray.push(recordArray);
});
console.log(Ext.encode(paramArray));
但是打印出来的只是store的最后一条数据,sum和data sum相符。假设我有 2 个来自列表视图的数据,如下所示:
[{comment: a, datecreated:1-2-1999}, {comment: b, datecreated:2-2-1999}]
打印出来:
[{comment: b, datecreated:2-2-1999}, {comment: b, datecreated:2-2-1999}]
我要的当然是paramArray包含listView的每一个对象,而不是一个一个。有任何想法吗?帮助表示赞赏。
试试这个,
var paramArray = [];
store.each(function(record){
var recordArray = {};
recordArray.comment = record.get("comment");
recordArray.datecreated = record.get("datecreated");
paramArray.push(recordArray);
});
在您的代码中,您覆盖了原始 recordArray 对象中的值,而不是每次都创建一个新对象,并且由于对象在 JavaScript 中通过引用传递,paramArray[0] 中的原始 recordArray 引用也被修改。