You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yii2中如何计算所有rating属性的平均值

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

假设你的数组结构类似如下(每个元素是包含rating属性的对象):

const data = [
  { rating: 4, name: "A" },
  { rating: 5, name: "B" },
  { rating: 3, name: "C" },
  { rating: 4, name: "D" }
];

以下是几种实用的计算方式:

方法1:用reduce一步完成累加与平均

reduce方法可以在遍历数组时直接累加rating的总和,再除以数组长度得到平均值:

const total = data.reduce((sum, item) => sum + item.rating, 0);
const average = data.length ? total / data.length : 0; // 避免空数组除以0

console.log(average); // 输出 4

方法2:先提取所有rating值再计算

先通过map提取出所有rating组成单独数组,再求和计算:

const ratingList = data.map(item => item.rating);
const total = ratingList.reduce((a, b) => a + b, 0);
const average = ratingList.length ? total / ratingList.length : 0;

console.log(average); // 输出 4

处理特殊情况

如果数组中存在没有rating属性或rating非数值的元素,可先过滤有效项:

const validItems = data.filter(item => typeof item.rating === 'number');
const total = validItems.reduce((sum, item) => sum + item.rating, 0);
const average = validItems.length ? total / validItems.length : 0;

内容的提问来源于stack exchange,提问作者user17045604

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:36:24