Преобразование данных хранилища в объект с определенным именем ключа ExtJS
на основе этого ответа, я хочу преобразовать данные хранилища в объект и определить значение ключа. Вот мой код:
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));
Но распечатка - это только последние данные из магазина, сумма которых совпадает с суммой данных. Предположим, у меня есть 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, а не только один. Есть идеи? Помогите оценить.
Ответы
Ответ 1
Попробуйте это,
var paramArray = [];
store.each(function(record){
var recordArray = {};
recordArray.comment = record.get("comment");
recordArray.datecreated = record.get("datecreated");
paramArray.push(recordArray);
});
В вашем коде вы переписываете значения в исходном объекте recordArray вместо создания нового объекта каждый раз, и поскольку объекты передаются по ссылке в JavaScript, исходная ссылка recordArray в paramArray [0] также изменяется.