Расчетные свойства для каждого элемента в массиве - PullRequest
0 голосов
/ 31 марта 2019

У меня есть сценарий использования, в котором мое хранилище данных имеет массив продуктов, каждый из которых имеет цену и количество.

Что я хотел бы сделать, так это рассчитать «общее» для каждого продукта (цена x количество).Я могу сделать это, создав новое вычисляемое свойство, которое пересчитывает весь массив, добавляя новое свойство с итогом.

Проблема в том, что для этого требуется пересчитывать каждый элемент в массиве каждый раз, когда изменяется один элемент.

Я мог бы использовать компонент для расчета и отображения, но мне также нужно рассчитать итоговую сумму (которая является суммой всех рассчитанных цен для каждого продукта).

Есть ли более эффективныйспособ сделать это?

[
  {
    "Product ID": 1,
    "Price": 10,
    "Quantity": 5,
    "Calculated Total": 50
  },
  {
    "Product ID": 2,
    "Price": 12,
    "Quantity": 10,
    "Calculated Total": 120
  }
]

1 Ответ

0 голосов
/ 31 марта 2019

Вы можете использовать вычисленное значение для отображения исходного массива и суммирования значений. например, скажем, исходный массив называется originalArray, сделайте:

 computed: {
   computedTotal() {
      let sum = 0
      originalArray.map(item => sum += item["Calculated Total"])
      return sum
  }
}
...