по стути двумерный массив наверно
и нужно реализовать формулы на подобие Excel
Где мне копать?
Google sheets
На vue такое в принципе реализовать элементарно. - Сделать массив объектов населенных пунктов c id и title н.п. - Сделать форму для ввода данных, где через select отрисовать населенные пункты и поле ввода значения. Записывать значение id н.п. и значение родившихся через v-model в временный объект - По нажатию клавиши "Добавить", можно писать это значение одновременно и в БД, и пушить его в массив уже существующих данных в vue-компоненте. - создать computed свойство которое будет при каждом обновлении этот массив пересчитывать и группировать по каждому ключу суммарный массив значений, например Lodash функцией computed: { result : function () { var tmp = _.groupBy(массив_записей, 'свойство'); получим key -> values хранилище, которое можно отработать, например, через _.map var tmp2 = [] _.forEach(tmp, function(value, key){ var count = 0 _.map(value, function(val){ count += val }) tmp2.push({ id: key, count: count }) }) return tmp2 } После чего отрисовать в template <ul> <li v-for="item in result">{{ item.id }} : {{ item.count }}</li> </ul> И нужно еще сделать вспомогательный метод для получения названия н.п по id чтобы вообще красиво было getTitle(id) { return _.find(массив_нп, { 'id': id }).title } тогда шаблон будет таким <ul> <li v-for="item in tmp2">{{getTitle(item.id) }} : {{ item.count }}</li> </ul> - и все, можно идти пить кофе) Vue awesome! * Естественно, использовать Lodash не обязательно, можно и на чистом JS этот перебор сделать, но я лентяй)
Обсуждают сегодня