使用javascript迭代jSon数据的通用函数?

时间:2014-05-27 19:00:47

标签: javascript json

我正在编写一个泛型函数来迭代jSon文件,如下所示:

function test(data, type) {
    var k = 0;

    for (var i in data) {
        k += isNaN(data[i].type) ? 0 : data[i].type;
    }

    return (k / data.length);
}

其中type是一个动态值 - 它可以是"步骤","距离"," floor"等

我想要做的是,每当我调用该函数时,它应该找到type是什么并找到该类型的平均值。有没有办法做到这一点?

jSon文件如下:

[
  {
    "ActivitySummaryKey": 23323,
    "activitycalories": 768,
    "caloriesBMR": 1052,
    "caloriesOut": 1622,
    "distances": 4.14,
    "elevation": 24,
    "fairlyActiveminutes": 62,
    "floors": 8,
    "lightlyActiveMinutes": 125,
    "marginalCalories": 476,
    "sedentaryMinutes": 258,
    "steps": 5547,
    "veryActiveMinutes": 11,
    "createddate": "5/27/2014 12:00:00 AM"
  }
]

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要修改您的函数以使用type作为属性名称,而不是直接访问.type处的数据。

function test(data, type) {
    var k = 0;

    for (var i in data) {
        k += isNaN(data[i][type]) ? 0 : data[i][type];
    }

    return (k / data.length);
}