Я настраиваю столбцы в угловом-UI-сетки, как это:Как создать динамический объект JSON в JavaScript
$scope.columns.push({
displayName: 'TimeStamp', field: 'x', width: $scope.setGridColumnWidth(), sort: {
direction: uiGridConstants.DESC,
priority: 1
}
});
for (let i = 0; i < view.trend.getTagsList().length; i++)
$scope.columns.push({ displayName: view.trend.getTagsList()[i].getTitle(), field: 'y' + view.trend.getTagsList()[i].getId(), width: $scope.setGridColumnWidth() });
Таким образом, если тенденция содержит 2 метки я получить UI-сетку с столбцы {x, y{id0}, y{id1} }
.
Теперь я пытаюсь связать данные с помощью:
$scope.data = [];
let taglist = view.trend.getTagsList();
for (let i = 0; i < taglist.length; i++)
for (let n of taglist[i].getData())
$scope.data.push({ x: n.x, 'y' + taglist[i].getId(): n.y });
Но я не могу динамически определить атрибут в JSON, используя 'y' + taglist[i].getId()
вместо этого он хочет фиксированное значение. Кто-нибудь знает аккуратный способ решить это?
[Там нет такого понятия, как "JSON объект"] (http://benalman.com/news/2010/03/theres- no-such-thing-as-a-json /) – adeneo
Как боковый узел, вы должны сохранить 'view.trend.getTagsList()' в переменной. – jcubic
@adeneo Напротив, обращение к простому объекту пар ключ-значение как «JSON-подобный объект» является приятным и описательным. Это, конечно, менее подробный, чем «экземпляр объекта» или «сбор пар ключ-значение». –