javascript - 如何使用数组数组中的多个变量进行计算和显示(Vue+laravel)

标签 javascript arrays laravel vue.js

我有组织的表格列表和每个组织的表格审核,然后我想计算每个组织的平均费率(审核表中的属性之一)这是我拥有的 JSON 文件

{
   id: 17,
   name_org: "AAA company",
   picture: "default.jpg",
   headerpic: "no-preview.png",
   type: "hardware,software,network",
   review: [
    {
       review_id: 3,
       org_id: 17,
       user_id: 2,
       description: "Not bad",
       rating: 5,
    },
    {
       review_id: 4,
       org_id: 17,
       user_id: 2,
       description: "Good",
       rating: 3,
    }
   ]
},
{
    id: 18,
    name_org: "US company",
    picture: "default.jpg",
    headerpic: "no-preview.png",
    type: "hardware,software,network",
    rating: 0,
    review: [
    {
       review_id: 5,
       org_id: 18,
       user_id: 2,
       description: "Well",
       rating: 5,
    }
   ]
}

我想将每个组织中的每个评级相加,然后将评级总和除以评级数量 (AVG),然后显示每个组织中的 AVG

methods: {
    getOrgData() {
      axios.get("api/listorgs").then(response => {
        this.ListOrgs = response.data;
      });
    }
  },
  data() {
    return {
      ListOrgs: []
    };
  },

你能告诉我这个语法吗?

最佳答案

我认为你可以在这里轻松使用 for 循环。这是一个可以解决这个问题的方法:

getAvg(organization) {
  let total = 0;
  for(var i = 0 ; i < organization.review.length; i++) {
    total += organization.review[i].rating;
  }
  let avg = total / organization.review.length;
  return avg;
}

使用此方法,您只需在模板中调用它,例如:

<div>{{ getAvg(organization) }}</div>

这是我为解决您的问题而创建的 fiddle :Get rating average

希望这有帮助。

关于javascript - 如何使用数组数组中的多个变量进行计算和显示(Vue+laravel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55487958/

相关文章:

javascript - 如何在不影响可见性的情况下为 Instagram Logo 添加颜色渐变?

javascript - Illustrator插件区

php - CSRF token 不匹配 Laravel ajax 删除数据

Javascript:根据子对象值在数组中抓取对象

javascript - 通过 Ajax 将页面加载到 div 返回错误

php - Laravel Dusk,如何在测试之间销毁 session 数据

javascript - 如何以 100% 页面宽度打印 Canvas 图像?

javascript - 希望制作一个 Twitter 机器人,它将按顺序从文件夹中发布图像。使用 node.js

python - Python 中的数组索引

arrays - 转置 Google 工作表中的每隔一行