我可以使用Javascript数组对象作为函数中的参数吗?怎么样?

Edd*_*vas 0 javascript arrays

所以我正在尝试创建一个接收数组的函数(我猜它更像是一个JSON对象,或者我们被告知)对象并返回一个基于该数组的值,但我一直收到错误,所以我'我很确定我做错了.

我对JavaScript很新,所以对我很轻松.此外,我发现这个线程与我问的问题类似,但我不太明白这个问题(因此它是答案).

这是我们给出的对象的示例:

var returned_json =  {
    "nike_runs": [
        {
            "start_time": "2011-03-11T19:14:44Z",
            "calories": 12.0,
            "distance_miles": "0.10",
            "total_seconds": 288.0,
            "average_pace":"50.47"
        },
        {
            "start_time": "2011-03-11T19:41:25Z",
            "calories": 7.0,
            "distance_miles": "0.06",
            "total_seconds": 559.0,
            "average_pace": "165.19"
        },
        {
            "start_time": "2011-03-11T20:27:45Z",
            "calories": 197.0,
            "distance_miles": "1.63",
            "total_seconds": 8434.0,
            "average_pace": "86.22"
        },
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

function getExp (returned_json) {
    var exp;
    for (var i = 0; i <= returned_json.nike_runs.length; i++) {
        exp += returned_json.nike_runs[i].calories;
    }
    return exp;
}
Run Code Online (Sandbox Code Playgroud)

它返回一个错误:

TypeError: returned_json.nike_runs[i] is undefined
Run Code Online (Sandbox Code Playgroud)

我认为这与我没有定义我希望传递给函数的对象类型的事实有关,但我的研究告诉我无所谓.

救命?:(

谢谢.

Dan*_*man 5

使用i < returned_json.nike_runs.length,而不是i <= returned_json.nike_runs.length.

编辑:当你在它时,你最好定义一个起始值exp.