雄辩的javascript练习第5章练习3

时间:2014-05-20 05:08:41

标签: javascript arrays higher-order-functions

从几个月开始,我正在从书Eloquent javascript学习javascript。

问题的基础是文件祖先。这是一个问题: 计算并输出每个世纪祖先数据集中人们的平均年龄。一个人被分配到一个世纪,将他们的死亡年份除以一百,并将其四舍五入,如Math.ceil(person.died / 100)。

我试图稍微解决它,这给了一个人的世纪(即他死于哪个世纪)。现在如何找到一个人的平均年龄。

这是我的代码:

function average(array) {
function plus(a, b) { return a + b; }
return array.reduce(plus) / array.length;}
var byCentuary = {};

ancestry.forEach(function(person) {
    this[person.name] = Math.ceil(person.died/100);
    console.log(this[person.name]);
},byCentuary)


for (var event in ancestry) {
    var a = ancestry[event];
    for (var prop in a) 
        if(prop === "died") {
            cen = a[prop]; }    
}

var ageP = ancestry.filter(function(a){
    return this[a.died] - this[a.born]
}, yearByName).filter(Number);

console.log(ageP);
for(var i = 16 ; i <= 21 ; i++) {
    ancestry.forEach(function(per) {
        if(this[per.name] === i){
            console.log(ageP.reduce(function (e,t){return e+t}) / ageP.length);
        }
    },byCentuary)
}

0 个答案:

没有答案