Уменьшить массив в JavaScript - PullRequest
0 голосов
/ 17 ноября 2018

Я создал FormArray, где я составляю элементы заказа.JSON, который генерируется из формы, выглядит следующим образом.

{
   "validFrom":"2018-11-16T21:07:02.167Z",
   "validTo":"2018-12-01T21:07:02.167Z",
   "totalPriceOfOrder": "{{Price of all items this need be calculated from all child object total price}}"
   "items":[
      {
         "name":"Head Phones",
         "unit":"",
         "quantity":"1",
         "price":"200",
         "totalPrice":""
      },
      {
         "name":"",
         "unit":"",
         "quantity":"2",
         "price":"200",
         "totalPrice":""
      }
   ]
}

Мне нужно в массиве Items вычислить: 1. количество * цена = totalPrice Например,

{
         "name":"",
         "unit":"",
         "quantity":"3",
         "price":"200",
         "totalPrice":"600"
}

Тогда мне нужны все totalPricesМассив элементов складывается в родительское свойство totalPriceOfOrder.

Я пробовал с помощью Reduce, но безуспешно.Не могли бы вы дать мне пример или совет

Большое спасибо

1 Ответ

0 голосов
/ 17 ноября 2018

Это должно быть довольно легко -

 let propertytotalPriceOfOrder = order.items.map(item => +item.unit * +item.quantity * +item.price);

где order - весь ваш объект json.

Примечание: оператор + используется, так как у вас есть значение string в json, которое необходимо преобразовать в number до вычисления arithmetic.

...