【问题标题】:Average number in a Jagged Array锯齿状数组中的平均数
【发布时间】:2018-05-29 14:47:06
【问题描述】:

我制作了一个如下所示的锯齿状数组:

我试图弄清楚如何计算每行的平均数。有什么建议吗?

完整代码如下:

    var tempen = [
    [" ","00-08","08-16","16-24","Medel"],
    ["Malmö","12","16","9"," "],
    ["Mariestad","13","15","10"," "],
    ["Stockholm","13","15","13"," "],
    ["Göteborg","13","14","12"," "]
    ];
    function printit()
    {
    var varMyinnerHTML = "<table border='1'>";

    for (i=0;i<tempen.length;i++)
    {
    varMyinnerHTML +="<tr>";
        for (j=0;j<tempen[i].length;j++)
        {
        varMyinnerHTML +="<td>"+ tempen[i][j] +"</td>";
        }
    varMyinnerHTML +="</tr>";
    }
    varMyinnerHTML +="</table>";
    document.getElementById("kontainer").innerHTML=varMyinnerHTML;
    }
    </script>
    </head>
    <body>
    <h1>Uppgift 1</h1>
    <form name="f1">
        <input type="button" value="print" onclick="printit()"/>
        </form>
        <div id="kontainer"/>
        </body>
</html>

【问题讨论】:

  • ["How","can","I","help"] 的平均值是多少?
  • var count = 0 ;myArray .forEach(function(array){count+=array.length}) var avg = count/myArray.length

标签: javascript arrays loops average jagged-arrays


【解决方案1】:

const sum = (nos)=> nos.reduce((p,c)=> p + (+c), 0);
const avg = (nos)=> sum(nos) / nos.length;
const tail = ([_, ...tail])=> tail; 
const averages = (arr) => arr.map((i) => avg(tail(i)));

var myArray = [["Help", "12", "16", "9", " "], ["Me", "13", "15", "10", " "], ["Please", "13", "15", "13", " "], ["Sir", "13", "14", "12", " "]];
console.log(averages(myArray));

或者,如果添加了composition operator

const averages = (arr)=> arr.map(tail :> avg);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-01
    • 2016-11-20
    • 1970-01-01
    • 2015-09-23
    • 2020-04-02
    • 1970-01-01
    • 2013-04-21
    • 2012-03-20
    相关资源
    最近更新 更多