В моем проекте используется Dev Extreme и его компонент datagrid. Эта сетка данных отображает данные для моих пользователей, где они могут выбирать отдельные строки в сетке данных и передавать их на мой сервер через вызов API.
В вызове API мне нужно передать массив значений, которые я собираю из любой выбранной строки. Когда я вывожу свой массив в консоль, все происходит так, как я ожидаю. Тем не менее, когда я помещаю его в JSON.stringify()
, массив пуст.
Почему это происходит? Поскольку я ожидаю, что результат будет выглядеть так: { 'LoadContextIds': [1,2,3], "ReportingCobid": "20190119"}
.
Моя логика для вышеизложенного такова:
function runBatchWithLoadContexts() {
var data = [];
getDataGridInstance().getSelectedRowsData().done(function (rowData) {
for (var i = 0; i < rowData.length; i++) {
data.push(rowData[i].LoadContextId);
}
});
var obj = { 'LoadContextIds': data, "ReportingCobid": cobDate };
console.log(data);
console.log(JSON.stringify(obj));
}
И прикреплен фрагмент из моего console.log, показывающий вышеуказанные результаты. Верхняя строка - это выходной формат `data', а нижняя - результат его преобразования в строку.