Преобразование данных хранилища в объект с определенным именем ключа 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] также изменяется.