diff --git a/jmespath.js b/jmespath.js index 0a36691..deaf4a2 100644 --- a/jmespath.js +++ b/jmespath.js @@ -1358,6 +1358,9 @@ _functionAvg: function(resolvedArgs) { var sum = 0; var inputArray = resolvedArgs[0]; + if (inputArray.length === 0) { + return null; + } for (var i = 0; i < inputArray.length; i++) { sum += inputArray[i]; } diff --git a/test/compliance/functions.json b/test/compliance/functions.json index 8b8db36..a749dda 100644 --- a/test/compliance/functions.json +++ b/test/compliance/functions.json @@ -83,6 +83,10 @@ "expression": "avg(strings)", "error": "invalid-type" }, + { + "expression": "avg(empty_list)", + "result": null + }, { "expression": "ceil(`1.2`)", "result": 2