计算数组中的平均值并在页面加载,Vue中显示它们

小牛

我有一个名为的数组products,其结构如下:

    {
            "_id": "150",
            "name": "Milk",
            "description": "Skimmed",
            "price": "10",
            "ratings": [
                      { 
                        "email": "[email protected]",
                        "rating": "5"
                      },
                      { 
                       "email": "[email protected]",
                       "rating": "3"
                      },
                      { 
                       "email": "[email protected]",
                       "rating": "1"
                      },
                      ]
},
   {
            "_id": "151",
            ...
            ...
            ...

我想使用Vue.js计算产品的平均评分并将其显示在页面加载中。

我的产品HTML页面有一个,v-for = "(product, key) in products"我可以使用它按名称,描述等显示所有产品。

任何帮助将不胜感激。提前致谢。

克里斯蒂安·卡里略(Christian Carrillo)

你可以试试:

new Vue({
  el: '#app',
  data() {
    return {
      products: [
        {
          "_id": "150",
          "name": "Milk",
          "description": "Skimmed",
          "price": "10",
          "ratings": [
              {
                "email": "[email protected]",
                "rating": "5"
              },
              {
                "email": "[email protected]",
                "rating": "3"
              },
              {
                "email": "[email protected]",
                "rating": "1"
              },
            ]
        }
      ]
    }
  },

  mounted () {
    // mapping each item of products to merge averageRating calculated
    this.products = this.products.map(product => {
      // ratings summation
      const totalRatings = product.ratings.reduce((acc, { rating }) => acc += Number(rating), 0)
      const averageRating = totalRatings/product.ratings.length
      // returning the merge of the current product with averageRating
      return {...product, averageRating}
    })
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<div id="app">
  <ul>
    <li v-for = "(product, key) in products" :key="key">
      name: {{ product.name }} ~ averageRating: {{ product.averageRating }}
    </li>
  </ul>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java如何计算数组中数字的平均值?

计算数组的列中的值的平均值?

计算数组列表的平均值?

计算数组c ++的平均值

计算数组的平均值

计算数据库SQL中的平均值

计算数据框中两列的平均值

如何计算数据框中的平均值?

如何计算数组中对象值的动态平均值?

用于计算数组中数字的最低,最高和平均值的小程序(调用C ++)

如何仅使用Python中的正数来计算数组的列平均值?

如何计算数组中已识别项目的平均值?

如何递归计算数组中双数的平均值?

Pandas:计算数据框中重复条目的平均值,但值是数组

从数组中读取并计算平均值

计算数据框中重复条目的平均值并将它们放入原始数据框中

计算数组中特定行的平均值并存储在另一个数组中

动态分配整数数组,将它们存储在文件中并在c中查找它们的平均值

分组并计算Javascript数组中的属性均值/平均值

计算数组中评分的平均值,然后将字段添加到MongoDB中的原始文档

使我的函数计算数组Swift的平均值

在MATLAB中计算数组的平均值

在Javascript中计算数组元素的平均值

你如何计算Python中数组数组的平均值?

根据单独列中的位置计算数据框中的平均值

计算对象的javascript数组中重复项的平均值

计算JavaScript中对数值数组的平均值

计算对象数组中属性的平均值

使用NaN计算numpy数组中的移动平均值