Мой проект использует Dev Extreme и его компонент данных. Эта сетка данных отображает данные для моих пользователей, где они могут выбирать отдельные строки в сетке данных и передавать их в мой бэкэнд с помощью вызова 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 ', а нижняя - результат его строкового преобразования. ![enter image description here](https://i.stack.imgur.com/BqsMp.png)