首页 > 解决方案 > 计算内部数组的数量和数组?

问题描述

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

查看我如何获取数据的图像;

在此处输入图像描述

const reviews = [
0: ["5", "1"]
1: ["4"]
2:  ["1", "4", "1"]
3: ["1", "4"]
4:  ["5", "4"]
5: []
etc etc
]

我想知道每个数组的平均值,所以:

0: 3
1: 4
2: 2 
etc etc

我在 React 中工作。我从 React-Redux 中的选择器获取数据。我用它来计算每个用户的平均评论。

代码:

  const reviews = users
    ? users.map((review) => {
        return review
          ? review.reviews.map((reviewen) => {
              return <p>{reviewen.review}</p>;
            })
          : "loading ";
      })
    : "Loading";

  console.log(reviews);

标签: javascriptarraysreactjsreact-redux

解决方案


我想你正在寻找这样的东西:

const reviews = [
["5", "1"],
["4"],
["1", "4", "1"],
["1", "4"],
["5", "4"]
];
const avgReviews = reviews.map(x => (x.reduce((a,b) => parseInt(a) + parseInt(b), 0) / x.length));
console.log(avgReviews);

或者,您可以创建一个新数组,将平均值与计算它的数组结合起来。

const reviews = [
["5", "1"],
["4"],
["1", "4", "1"],
["1", "4"],
["5", "4"]
];
const reviews_and_average = reviews.map(x => [x,(x.reduce((a,b) => parseInt(a) + parseInt(b), 0) / x.length)]);
console.log(reviews_and_average);


推荐阅读